coverage-report

Code coverage report for All files

npmtest-sugar (v0.0.1)

Code coverage report for All files

Statements: 58.74% (3461 / 5892)      Branches: 14.03% (278 / 1981)      Functions: 19.06% (162 / 850)      Lines: 59.12% (3461 / 5854)      Ignored: 26 statements, 1 function, 30 branches     

File Statements Branches Functions Lines
node-npmtest-sugar/ 100% (151 / 151) 100% (124 / 124) 100% (27 / 27) 100% (151 / 151)
node-npmtest-sugar/sugar/ 100% (10 / 10) 100% (0 / 0) 100% (0 / 0) 100% (10 / 10)
node-npmtest-sugar/sugar/array/ 68.67% (206 / 300) 0% (0 / 40) 0% (0 / 42) 70.79% (206 / 291)
node-npmtest-sugar/sugar/array/build/ 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
node-npmtest-sugar/sugar/array/internal/ 43.06% (90 / 209) 0% (0 / 83) 17.65% (6 / 34) 43.27% (90 / 208)
node-npmtest-sugar/sugar/array/var/ 25% (9 / 36) 0% (0 / 22) 0% (0 / 1) 25.71% (9 / 35)
node-npmtest-sugar/sugar/common/internal/ 44.14% (305 / 691) 3.13% (11 / 351) 23.14% (28 / 121) 44.46% (305 / 686)
node-npmtest-sugar/sugar/common/var/ 89% (89 / 100) 48% (12 / 25) 62.5% (10 / 16) 89.9% (89 / 99)
node-npmtest-sugar/sugar/date/ 90.92% (521 / 573) 0% (0 / 19) 0% (0 / 34) 90.92% (521 / 573)
node-npmtest-sugar/sugar/date/build/ 100% (8 / 8) 100% (0 / 0) 100% (0 / 0) 100% (8 / 8)
node-npmtest-sugar/sugar/date/internal/ 45.4% (508 / 1119) 16.58% (95 / 573) 30.22% (55 / 182) 45.6% (508 / 1114)
node-npmtest-sugar/sugar/date/var/ 66.84% (127 / 190) 46.15% (24 / 52) 27.69% (18 / 65) 66.84% (127 / 190)
node-npmtest-sugar/sugar/enumerable/ 100% (41 / 41) 100% (0 / 0) 100% (0 / 0) 100% (41 / 41)
node-npmtest-sugar/sugar/enumerable/build/ 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
node-npmtest-sugar/sugar/enumerable/internal/ 39.53% (102 / 258) 9.41% (8 / 85) 14.55% (8 / 55) 39.69% (102 / 257)
node-npmtest-sugar/sugar/enumerable/var/ 100% (7 / 7) 100% (0 / 0) 100% (0 / 0) 100% (7 / 7)
node-npmtest-sugar/sugar/function/ 40.65% (50 / 123) 0% (0 / 26) 0% (0 / 18) 42.02% (50 / 119)
node-npmtest-sugar/sugar/function/internal/ 24% (18 / 75) 0% (0 / 32) 0% (0 / 10) 25% (18 / 72)
node-npmtest-sugar/sugar/function/var/ 76.92% (10 / 13) 50% (1 / 2) 0% (0 / 2) 76.92% (10 / 13)
node-npmtest-sugar/sugar/number/ 90.49% (390 / 431) 0% (0 / 33) 0% (0 / 20) 90.7% (390 / 430)
node-npmtest-sugar/sugar/number/build/ 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
node-npmtest-sugar/sugar/number/internal/ 33.85% (22 / 65) 0% (0 / 34) 33.33% (3 / 9) 33.85% (22 / 65)
node-npmtest-sugar/sugar/number/var/ 100% (8 / 8) 100% (0 / 0) 100% (0 / 0) 100% (8 / 8)
node-npmtest-sugar/sugar/object/ 80.74% (197 / 244) 0% (0 / 6) 0% (0 / 40) 80.74% (197 / 244)
node-npmtest-sugar/sugar/object/build/ 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
node-npmtest-sugar/sugar/object/internal/ 36.59% (120 / 328) 0% (0 / 178) 4.26% (2 / 47) 36.7% (120 / 327)
node-npmtest-sugar/sugar/object/var/ 100% (6 / 6) 100% (0 / 0) 100% (0 / 0) 100% (6 / 6)
node-npmtest-sugar/sugar/range/ 76.39% (55 / 72) 0% (0 / 28) 0% (0 / 10) 77.46% (55 / 71)
node-npmtest-sugar/sugar/range/build/ 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
node-npmtest-sugar/sugar/range/internal/ 40.46% (70 / 173) 2.33% (2 / 86) 8.33% (2 / 24) 40.7% (70 / 172)
node-npmtest-sugar/sugar/range/var/ 80% (16 / 20) 0% (0 / 4) 0% (0 / 2) 80% (16 / 20)
node-npmtest-sugar/sugar/regexp/ 77.78% (21 / 27) 100% (0 / 0) 0% (0 / 5) 77.78% (21 / 27)
node-npmtest-sugar/sugar/string/ 73.52% (186 / 253) 0% (0 / 24) 0% (0 / 46) 74.4% (186 / 250)
node-npmtest-sugar/sugar/string/internal/ 27.42% (68 / 248) 0% (0 / 140) 0% (0 / 29) 27.53% (68 / 247)
node-npmtest-sugar/sugar/string/var/ 38.83% (40 / 103) 7.14% (1 / 14) 27.27% (3 / 11) 38.83% (40 / 103)
Code coverage report for node-npmtest-sugar/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/

Statements: 100% (151 / 151)      Branches: 100% (124 / 124)      Functions: 100% (27 / 27)      Lines: 100% (151 / 151)      Ignored: 26 statements, 1 function, 30 branches     

All files » node-npmtest-sugar/
File Statements Branches Functions Lines
example.js 100% (83 / 83) 100% (73 / 73) 100% (12 / 12) 100% (83 / 83)
lib.npmtest_sugar.js 100% (16 / 16) 100% (14 / 14) 100% (3 / 3) 100% (16 / 16)
test.js 100% (52 / 52) 100% (37 / 37) 100% (12 / 12) 100% (52 / 52)
Code coverage report for node-npmtest-sugar/example.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/example.js

Statements: 100% (83 / 83)      Branches: 100% (73 / 73)      Functions: 100% (12 / 12)      Lines: 100% (83 / 83)      Ignored: 26 statements, 1 function, 30 branches     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327                                                  2   2         2   2   2 2 2         1             2       2       2   2               1 2           2     2     2 2   1       2     1 1 1   1 1     1 1   1     1   2           1   1   1         1 2 2 2 2 2 2 1     2 2         2       1 3 1       1 1               1   1 1 1   1   1                                                                                                                                                                                       1 1                       1     6 6   1   2   1   2         1 1   1     1               1     1 1     1 1   1 1 1 1 1 1 1   1 1   1        
/*
example.js
 
quickstart example
 
instruction
    1. save this script as example.js
    2. run the shell command:
        $ npm install npmtest-sugar && PORT=8081 node example.js
    3. play with the browser-demo on http://127.0.0.1:8081
*/
 
 
 
/* istanbul instrument in package npmtest_sugar */
/*jslint
    bitwise: true,
    browser: true,
    maxerr: 8,
    maxlen: 96,
    node: true,
    nomen: true,
    regexp: true,
    stupid: true
*/
(function () {
    'use strict';
    var local;
 
 
 
    // run shared js-env code - pre-init
    (function () {
        // init local
        local = {};
        // init modeJs
        local.modeJs = (function () {
            try {
                return typeof navigator.userAgent === 'string' &&
                    typeof document.querySelector('body') === 'object' &&
                    typeof XMLHttpRequest.prototype.open === 'function' &&
                    'browser';
            } catch (errorCaughtBrowser) {
                return module.exports &&
                    typeof process.versions.node === 'string' &&
                    typeof require('http').createServer === 'function' &&
                    'node';
            }
        }());
        // init global
        local.global = local.modeJs === 'browser'
            ? window
            : global;
        // init utility2_rollup
        local = local.global.utility2_rollup || (local.modeJs === 'browser'
            ? local.global.utility2_npmtest_sugar
            : global.utility2_moduleExports);
        // export local
        local.global.local = local;
    }());
    switch (local.modeJs) {
 
 
 
    // post-init
    // run browser js-env code - post-init
    /* istanbul ignore next */
    case 'browser':
        local.testRunBrowser = function (event) {
            Eif (!event || (event &&
                    event.currentTarget &&
                    event.currentTarget.className &&
                    event.currentTarget.className.includes &&
                    event.currentTarget.className.includes('onreset'))) {
                // reset output
                Array.from(
                    document.querySelectorAll('body > .resettable')
                ).forEach(function (element) {
                    switch (element.tagName) {
                    case 'INPUT':
                    case 'TEXTAREA':
                        element.value = '';
                        break;
                    default:
                        element.textContent = '';
                    }
                });
            }
            switch (event && event.currentTarget && event.currentTarget.id) {
            case 'testRunButton1':
                // show tests
                Eif (document.querySelector('#testReportDiv1').style.display === 'none') {
                    document.querySelector('#testReportDiv1').style.display = 'block';
                    document.querySelector('#testRunButton1').textContent =
                        'hide internal test';
                    local.modeTest = true;
                    local.testRunDefault(local);
                // hide tests
                } else {
                    document.querySelector('#testReportDiv1').style.display = 'none';
                    document.querySelector('#testRunButton1').textContent = 'run internal test';
                }
                break;
            // custom-case
            default:
                break;
            }
            Iif (document.querySelector('#inputTextareaEval1') && (!event || (event &&
                    event.currentTarget &&
                    event.currentTarget.className &&
                    event.currentTarget.className.includes &&
                    event.currentTarget.className.includes('oneval')))) {
                // try to eval input-code
                try {
                    /*jslint evil: true*/
                    eval(document.querySelector('#inputTextareaEval1').value);
                } catch (errorCaught) {
                    console.error(errorCaught);
                }
            }
        };
        // log stderr and stdout to #outputTextareaStdout1
        ['error', 'log'].forEach(function (key) {
            console[key + '_original'] = console[key];
            console[key] = function () {
                var element;
                console[key + '_original'].apply(console, arguments);
                element = document.querySelector('#outputTextareaStdout1');
                Iif (!element) {
                    return;
                }
                // append text to #outputTextareaStdout1
                element.value += Array.from(arguments).map(function (arg) {
                    return typeof arg === 'string'
                        ? arg
                        : JSON.stringify(arg, null, 4);
                }).join(' ') + '\n';
                // scroll textarea to bottom
                element.scrollTop = element.scrollHeight;
            };
        });
        // init event-handling
        ['change', 'click', 'keyup'].forEach(function (event) {
            Array.from(document.querySelectorAll('.on' + event)).forEach(function (element) {
                element.addEventListener(event, local.testRunBrowser);
            });
        });
        // run tests
        local.testRunBrowser();
        break;
 
 
 
    // run node js-env code - post-init
    /* istanbul ignore next */
    case 'node':
        // export local
        module.exports = local;
        // require modules
        local.fs = require('fs');
        local.http = require('http');
        local.url = require('url');
        // init assets
        local.assetsDict = local.assetsDict || {};
        /* jslint-ignore-begin */
        local.assetsDict['/assets.index.template.html'] = '\
<!doctype html>\n\
<html lang="en">\n\
<head>\n\
<meta charset="UTF-8">\n\
<meta name="viewport" content="width=device-width, initial-scale=1">\n\
<title>{{env.npm_package_name}} (v{{env.npm_package_version}})</title>\n\
<style>\n\
/*csslint\n\
    box-sizing: false,\n\
    universal-selector: false\n\
*/\n\
* {\n\
    box-sizing: border-box;\n\
}\n\
body {\n\
    background: #dde;\n\
    font-family: Arial, Helvetica, sans-serif;\n\
    margin: 2rem;\n\
}\n\
body > * {\n\
    margin-bottom: 1rem;\n\
}\n\
.utility2FooterDiv {\n\
    margin-top: 20px;\n\
    text-align: center;\n\
}\n\
</style>\n\
<style>\n\
/*csslint\n\
*/\n\
textarea {\n\
    font-family: monospace;\n\
    height: 10rem;\n\
    width: 100%;\n\
}\n\
textarea[readonly] {\n\
    background: #ddd;\n\
}\n\
</style>\n\
</head>\n\
<body>\n\
<!-- utility2-comment\n\
<div id="ajaxProgressDiv1" style="background: #d00; height: 2px; left: 0; margin: 0; padding: 0; position: fixed; top: 0; transition: background 0.5s, width 1.5s; width: 25%;"></div>\n\
utility2-comment -->\n\
<h1>\n\
<!-- utility2-comment\n\
    <a\n\
        {{#if env.npm_package_homepage}}\n\
        href="{{env.npm_package_homepage}}"\n\
        {{/if env.npm_package_homepage}}\n\
        target="_blank"\n\
    >\n\
utility2-comment -->\n\
        {{env.npm_package_name}} (v{{env.npm_package_version}})\n\
<!-- utility2-comment\n\
    </a>\n\
utility2-comment -->\n\
</h1>\n\
<h3>{{env.npm_package_description}}</h3>\n\
<!-- utility2-comment\n\
<h4><a download href="assets.app.js">download standalone app</a></h4>\n\
<button class="onclick onreset" id="testRunButton1">run internal test</button><br>\n\
<div id="testReportDiv1" style="display: none;"></div>\n\
utility2-comment -->\n\
\n\
\n\
\n\
<label>stderr and stdout</label>\n\
<textarea class="resettable" id="outputTextareaStdout1" readonly></textarea>\n\
<!-- utility2-comment\n\
{{#if isRollup}}\n\
<script src="assets.app.js"></script>\n\
{{#unless isRollup}}\n\
utility2-comment -->\n\
<script src="assets.utility2.rollup.js"></script>\n\
<script src="jsonp.utility2._stateInit?callback=window.utility2._stateInit"></script>\n\
<script src="assets.npmtest_sugar.rollup.js"></script>\n\
<script src="assets.example.js"></script>\n\
<script src="assets.test.js"></script>\n\
<!-- utility2-comment\n\
{{/if isRollup}}\n\
utility2-comment -->\n\
<div class="utility2FooterDiv">\n\
    [ this app was created with\n\
    <a href="https://github.com/kaizhu256/node-utility2" target="_blank">utility2</a>\n\
    ]\n\
</div>\n\
</body>\n\
</html>\n\
';
        /* jslint-ignore-end */
        Iif (local.templateRender) {
            local.assetsDict['/'] = local.templateRender(
                local.assetsDict['/assets.index.template.html'],
                {
                    env: local.objectSetDefault(local.env, {
                        npm_package_description: 'the greatest app in the world!',
                        npm_package_name: 'my-app',
                        npm_package_nameAlias: 'my_app',
                        npm_package_version: '0.0.1'
                    })
                }
            );
        } else {
            local.assetsDict['/'] = local.assetsDict['/assets.index.template.html']
                .replace((/\{\{env\.(\w+?)\}\}/g), function (match0, match1) {
                    // jslint-hack
                    String(match0);
                    switch (match1) {
                    case 'npm_package_description':
                        return 'the greatest app in the world!';
                    case 'npm_package_name':
                        return 'my-app';
                    case 'npm_package_nameAlias':
                        return 'my_app';
                    case 'npm_package_version':
                        return '0.0.1';
                    }
                });
        }
        // run the cli
        Eif (local.global.utility2_rollup || module !== require.main) {
            break;
        }
        local.assetsDict['/assets.example.js'] =
            local.assetsDict['/assets.example.js'] ||
            local.fs.readFileSync(__filename, 'utf8');
        local.assetsDict['/assets.npmtest_sugar.rollup.js'] =
            local.assetsDict['/assets.npmtest_sugar.rollup.js'] ||
            local.fs.readFileSync(
                // buildCustomOrg-hack
                local.npmtest_sugar.__dirname +
                    '/lib.npmtest_sugar.js',
                'utf8'
            ).replace((/^#!/), '//');
        local.assetsDict['/favicon.ico'] = local.assetsDict['/favicon.ico'] || '';
        // if $npm_config_timeout_exit exists,
        // then exit this process after $npm_config_timeout_exit ms
        if (Number(process.env.npm_config_timeout_exit)) {
            setTimeout(process.exit, Number(process.env.npm_config_timeout_exit));
        }
        // start server
        if (local.global.utility2_serverHttp1) {
            break;
        }
        process.env.PORT = process.env.PORT || '8081';
        console.error('server starting on port ' + process.env.PORT);
        local.http.createServer(function (request, response) {
            request.urlParsed = local.url.parse(request.url);
            if (local.assetsDict[request.urlParsed.pathname] !== undefined) {
                response.end(local.assetsDict[request.urlParsed.pathname]);
                return;
            }
            response.statusCode = 404;
            response.end();
        }).listen(process.env.PORT);
        break;
    }
}());
 
 
Code coverage report for node-npmtest-sugar/lib.npmtest_sugar.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/lib.npmtest_sugar.js

Statements: 100% (16 / 16)      Branches: 100% (14 / 14)      Functions: 100% (3 / 3)      Lines: 100% (16 / 16)      Ignored: none     

All files » node-npmtest-sugar/ » lib.npmtest_sugar.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55                      2   2         2   2   2 2 2         1             2       2   2   2 1   1 1 1          
/* istanbul instrument in package npmtest_sugar */
/*jslint
    bitwise: true,
    browser: true,
    maxerr: 8,
    maxlen: 96,
    node: true,
    nomen: true,
    regexp: true,
    stupid: true
*/
(function () {
    'use strict';
    var local;
 
 
 
    // run shared js-env code - pre-init
    (function () {
        // init local
        local = {};
        // init modeJs
        local.modeJs = (function () {
            try {
                return typeof navigator.userAgent === 'string' &&
                    typeof document.querySelector('body') === 'object' &&
                    typeof XMLHttpRequest.prototype.open === 'function' &&
                    'browser';
            } catch (errorCaughtBrowser) {
                return module.exports &&
                    typeof process.versions.node === 'string' &&
                    typeof require('http').createServer === 'function' &&
                    'node';
            }
        }());
        // init global
        local.global = local.modeJs === 'browser'
            ? window
            : global;
        // init utility2_rollup
        local = local.global.utility2_rollup || local;
        // init lib
        local.local = local.npmtest_sugar = local;
        // init exports
        if (local.modeJs === 'browser') {
            local.global.utility2_npmtest_sugar = local;
        } else {
            module.exports = local;
            module.exports.__dirname = __dirname;
            module.exports.module = module;
        }
    }());
}());
 
 
Code coverage report for node-npmtest-sugar/test.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/test.js

Statements: 100% (52 / 52)      Branches: 100% (37 / 37)      Functions: 100% (12 / 12)      Lines: 100% (52 / 52)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187                      2   2         2   2   2 2 2         1             2     2     1       1     1   1     2           2 2   2           1           1           2 2   2             1     1             1             1 1     1             1 1 1 1 1 1     1         2 2     1             2 2     1             2 2     1             2 2     1             1 1       1 1        
/* istanbul instrument in package npmtest_sugar */
/*jslint
    bitwise: true,
    browser: true,
    maxerr: 8,
    maxlen: 96,
    node: true,
    nomen: true,
    regexp: true,
    stupid: true
*/
(function () {
    'use strict';
    var local;
 
 
 
    // run shared js-env code - pre-init
    (function () {
        // init local
        local = {};
        // init modeJs
        local.modeJs = (function () {
            try {
                return typeof navigator.userAgent === 'string' &&
                    typeof document.querySelector('body') === 'object' &&
                    typeof XMLHttpRequest.prototype.open === 'function' &&
                    'browser';
            } catch (errorCaughtBrowser) {
                return module.exports &&
                    typeof process.versions.node === 'string' &&
                    typeof require('http').createServer === 'function' &&
                    'node';
            }
        }());
        // init global
        local.global = local.modeJs === 'browser'
            ? window
            : global;
        switch (local.modeJs) {
        // re-init local from window.local
        case 'browser':
            local = local.global.utility2.objectSetDefault(
                local.global.utility2_rollup || local.global.local,
                local.global.utility2
            );
            break;
        // re-init local from example.js
        case 'node':
            local = (local.global.utility2_rollup || require('utility2'))
                .requireExampleJsFromReadme();
            break;
        }
        // export local
        local.global.local = local;
    }());
 
 
 
    // run shared js-env code - function
    (function () {
        return;
    }());
    switch (local.modeJs) {
 
 
 
    // run browser js-env code - function
    case 'browser':
        break;
 
 
 
    // run node js-env code - function
    case 'node':
        break;
    }
 
 
 
    // run shared js-env code - post-init
    (function () {
        return;
    }());
    switch (local.modeJs) {
 
 
 
    // run browser js-env code - post-init
    case 'browser':
        // run tests
        local.nop(local.modeTest &&
            document.querySelector('#testRunButton1') &&
            document.querySelector('#testRunButton1').click());
        break;
 
 
 
    // run node js-env code - post-init
    /* istanbul ignore next */
    case 'node':
        local.testCase_buildApidoc_default = local.testCase_buildApidoc_default || function (
            options,
            onError
        ) {
        /*
         * this function will test buildApidoc's default handling-behavior-behavior
         */
            options = { modulePathList: module.paths };
            local.buildApidoc(options, onError);
        };
 
        local.testCase_buildApp_default = local.testCase_buildApp_default || function (
            options,
            onError
        ) {
        /*
         * this function will test buildApp's default handling-behavior-behavior
         */
            local.testCase_buildReadme_default(options, local.onErrorThrow);
            local.testCase_buildLib_default(options, local.onErrorThrow);
            local.testCase_buildTest_default(options, local.onErrorThrow);
            local.testCase_buildCustomOrg_default(options, local.onErrorThrow);
            options = [];
            local.buildApp(options, onError);
        };
 
        local.testCase_buildCustomOrg_default = local.testCase_buildCustomOrg_default ||
            function (options, onError) {
            /*
             * this function will test buildCustomOrg's default handling-behavior
             */
                options = {};
                local.buildCustomOrg(options, onError);
            };
 
        local.testCase_buildLib_default = local.testCase_buildLib_default || function (
            options,
            onError
        ) {
        /*
         * this function will test buildLib's default handling-behavior
         */
            options = {};
            local.buildLib(options, onError);
        };
 
        local.testCase_buildReadme_default = local.testCase_buildReadme_default || function (
            options,
            onError
        ) {
        /*
         * this function will test buildReadme's default handling-behavior-behavior
         */
            options = {};
            local.buildReadme(options, onError);
        };
 
        local.testCase_buildTest_default = local.testCase_buildTest_default || function (
            options,
            onError
        ) {
        /*
         * this function will test buildTest's default handling-behavior
         */
            options = {};
            local.buildTest(options, onError);
        };
 
        local.testCase_webpage_default = local.testCase_webpage_default || function (
            options,
            onError
        ) {
        /*
         * this function will test webpage's default handling-behavior
         */
            options = { modeCoverageMerge: true, url: local.serverLocalHost + '?modeTest=1' };
            local.browserTest(options, onError);
        };
 
        // run test-server
        local.testRunServer(local);
        break;
    }
}());
 
 
Code coverage report for node-npmtest-sugar/sugar/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/

Statements: 100% (10 / 10)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (10 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/
File Statements Branches Functions Lines
index.js 100% (10 / 10) 100% (0 / 0) 100% (0 / 0) 100% (10 / 10)
Code coverage report for node-npmtest-sugar/sugar/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/index.js

Statements: 100% (10 / 10)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (10 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1 1 1 1 1 1 1 1 1   1  
'use strict';
 
require('./string');
require('./number');
require('./array');
require('./enumerable');
require('./object');
require('./date');
require('./range');
require('./function');
require('./regexp');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/array/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/

Statements: 68.67% (206 / 300)      Branches: 0% (0 / 40)      Functions: 0% (0 / 42)      Lines: 70.79% (206 / 291)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/
File Statements Branches Functions Lines
add.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
append.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
at.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
average.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
clone.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
compact.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
construct.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 2) 50% (3 / 6)
count.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
create.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
every.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
everyFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
exclude.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
filter.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
filterFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
find.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
findFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
findIndex.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
findIndexFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
first.js 37.5% (3 / 8) 0% (0 / 4) 0% (0 / 1) 50% (3 / 6)
flatten.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
forEachFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
from.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getOption.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
groupBy.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
inGroups.js 26.67% (4 / 15) 0% (0 / 4) 0% (0 / 3) 26.67% (4 / 15)
inGroupsOf.js 23.53% (4 / 17) 0% (0 / 8) 0% (0 / 2) 28.57% (4 / 14)
index.js 100% (32 / 32) 100% (0 / 0) 100% (0 / 0) 100% (32 / 32)
insert.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
intersect.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isEmpty.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isEqual.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
last.js 42.86% (3 / 7) 0% (0 / 4) 0% (0 / 1) 50% (3 / 6)
least.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
map.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
mapFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
max.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
median.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
min.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
most.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
none.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
reduceFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
reduceRightFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
remove.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
removeAt.js 33.33% (3 / 9) 0% (0 / 4) 0% (0 / 1) 42.86% (3 / 7)
sample.js 20% (4 / 20) 0% (0 / 8) 0% (0 / 1) 20% (4 / 20)
setOption.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
shuffle.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
some.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
someFromIndex.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
sortBy.js 37.5% (3 / 8) 0% (0 / 2) 0% (0 / 2) 37.5% (3 / 8)
subtract.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
sum.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
to.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
union.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
unique.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
zip.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 3) 50% (3 / 6)
Code coverage report for node-npmtest-sugar/sugar/array/add.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/add.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayClone = require('./internal/arrayClone'),
    arrayAppend = require('./internal/arrayAppend');
 
Sugar.Array.defineInstance({
 
  'add': function(arr, item, index) {
    return arrayAppend(arrayClone(arr), item, index);
  }
 
});
 
module.exports = Sugar.Array.add;
 
Code coverage report for node-npmtest-sugar/sugar/array/append.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/append.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayAppend = require('./internal/arrayAppend');
 
Sugar.Array.defineInstance({
 
  'append': function(arr, item, index) {
    return arrayAppend(arr, item, index);
  }
 
});
 
module.exports = Sugar.Array.append;
 
Code coverage report for node-npmtest-sugar/sugar/array/at.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/at.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getEntriesForIndexes = require('../common/internal/getEntriesForIndexes');
 
Sugar.Array.defineInstance({
 
  'at': function(arr, index, loop) {
    return getEntriesForIndexes(arr, index, loop);
  }
 
});
 
module.exports = Sugar.Array.at;
 
Code coverage report for node-npmtest-sugar/sugar/array/average.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/average.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    average = require('../enumerable/internal/average');
 
Sugar.Array.defineInstance({
 
  'average': function(arr, map) {
    return average(arr, map);
  }
 
});
 
module.exports = Sugar.Array.average;
 
Code coverage report for node-npmtest-sugar/sugar/array/clone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/clone.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayClone = require('./internal/arrayClone');
 
Sugar.Array.defineInstance({
 
  'clone': function(arr) {
    return arrayClone(arr);
  }
 
});
 
module.exports = Sugar.Array.clone;
 
Code coverage report for node-npmtest-sugar/sugar/array/compact.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/compact.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayCompact = require('./internal/arrayCompact');
 
Sugar.Array.defineInstance({
 
  'compact': function(arr, all) {
    return arrayCompact(arr, all);
  }
 
});
 
module.exports = Sugar.Array.compact;
 
Code coverage report for node-npmtest-sugar/sugar/array/construct.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/construct.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1     1                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    coercePositiveInteger = require('../common/internal/coercePositiveInteger');
 
Sugar.Array.defineStatic({
 
  'construct': function(n, fn) {
    n = coercePositiveInteger(n);
    return Array.from(new Array(n), function(el, i) {
      return fn && fn(i);
    });
  }
 
});
 
module.exports = Sugar.Array.construct;
 
Code coverage report for node-npmtest-sugar/sugar/array/count.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/count.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayCount = require('../enumerable/internal/arrayCount'),
    fixArgumentLength = require('../common/internal/fixArgumentLength');
 
Sugar.Array.defineInstance({
 
  'count': fixArgumentLength(arrayCount)
 
});
 
module.exports = Sugar.Array.count;
 
Code coverage report for node-npmtest-sugar/sugar/array/create.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/create.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayCreate = require('./internal/arrayCreate');
 
require('./build/setArrayChainableConstructorCall');
 
Sugar.Array.defineStatic({
 
  'create': function(obj, clone) {
    return arrayCreate(obj, clone);
  }
 
});
 
module.exports = Sugar.Array.create;
 
Code coverage report for node-npmtest-sugar/sugar/array/every.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/every.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1           1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    enhancedMatcherMethods = require('../enumerable/var/enhancedMatcherMethods');
 
var enhancedEvery = enhancedMatcherMethods.enhancedEvery;
 
Sugar.Array.defineInstance({
 
  'every': fixArgumentLength(enhancedEvery)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.every;
 
Code coverage report for node-npmtest-sugar/sugar/array/everyFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/everyFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.everyFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/exclude.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/exclude.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayExclude = require('./internal/arrayExclude');
 
Sugar.Array.defineInstance({
 
  'exclude': function(arr, f) {
    return arrayExclude(arr, f);
  }
 
});
 
module.exports = Sugar.Array.exclude;
 
Code coverage report for node-npmtest-sugar/sugar/array/filter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/filter.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1           1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    enhancedMatcherMethods = require('../enumerable/var/enhancedMatcherMethods');
 
var enhancedFilter = enhancedMatcherMethods.enhancedFilter;
 
Sugar.Array.defineInstance({
 
  'filter': fixArgumentLength(enhancedFilter)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.filter;
 
Code coverage report for node-npmtest-sugar/sugar/array/filterFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/filterFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.filterFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/find.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/find.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1           1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    enhancedMatcherMethods = require('../enumerable/var/enhancedMatcherMethods');
 
var enhancedFind = enhancedMatcherMethods.enhancedFind;
 
Sugar.Array.defineInstance({
 
  'find': fixArgumentLength(enhancedFind)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.find;
 
Code coverage report for node-npmtest-sugar/sugar/array/findFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/findFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.findFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/findIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/findIndex.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1           1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    enhancedMatcherMethods = require('../enumerable/var/enhancedMatcherMethods');
 
var enhancedFindIndex = enhancedMatcherMethods.enhancedFindIndex;
 
Sugar.Array.defineInstance({
 
  'findIndex': fixArgumentLength(enhancedFindIndex)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.findIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/findIndexFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/findIndexFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/ » findIndexFromIndex.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.findIndexFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/first.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/first.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.Array.defineInstance({
 
  'first': function(arr, num) {
    if (isUndefined(num)) return arr[0];
    if (num < 0) num = 0;
    return arr.slice(0, num);
  }
 
});
 
module.exports = Sugar.Array.first;
 
Code coverage report for node-npmtest-sugar/sugar/array/flatten.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/flatten.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayFlatten = require('./internal/arrayFlatten');
 
Sugar.Array.defineInstance({
 
  'flatten': function(arr, limit) {
    return arrayFlatten(arr, limit);
  }
 
});
 
module.exports = Sugar.Array.flatten;
 
Code coverage report for node-npmtest-sugar/sugar/array/forEachFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/forEachFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/ » forEachFromIndex.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.forEachFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/from.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/from.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Array.defineInstance({
 
  'from': function(arr, num) {
    return arr.slice(num);
  }
 
});
 
module.exports = Sugar.Array.from;
 
Code coverage report for node-npmtest-sugar/sugar/array/getOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/getOption.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9    1     1   1  
'use strict';
 
var Sugar = require('sugar-core'),
    ARRAY_OPTIONS = require('./var/ARRAY_OPTIONS');
 
var _arrayOptions = ARRAY_OPTIONS._arrayOptions;
 
module.exports = Sugar.Array.getOption;
 
Code coverage report for node-npmtest-sugar/sugar/array/groupBy.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/groupBy.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayGroupBy = require('./internal/arrayGroupBy');
 
Sugar.Array.defineInstance({
 
  'groupBy': function(arr, map, fn) {
    return arrayGroupBy(arr, map, fn);
  }
 
});
 
module.exports = Sugar.Array.groupBy;
 
Code coverage report for node-npmtest-sugar/sugar/array/inGroups.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/inGroups.js

Statements: 26.67% (4 / 15)      Branches: 0% (0 / 4)      Functions: 0% (0 / 3)      Lines: 26.67% (4 / 15)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32    1         1   1                                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    isDefined = require('../common/internal/isDefined'),
    mathAliases = require('../common/var/mathAliases'),
    simpleRepeat = require('../common/internal/simpleRepeat');
 
var ceil = mathAliases.ceil;
 
Sugar.Array.defineInstance({
 
  'inGroups': function(arr, num, padding) {
    var pad = isDefined(padding);
    var result = new Array(num);
    var divisor = ceil(arr.length / num);
    simpleRepeat(num, function(i) {
      var index = i * divisor;
      var group = arr.slice(index, index + divisor);
      if (pad && group.length < divisor) {
        simpleRepeat(divisor - group.length, function() {
          group.push(padding);
        });
      }
      result[i] = group;
    });
    return result;
  }
 
});
 
module.exports = Sugar.Array.inGroups;
 
Code coverage report for node-npmtest-sugar/sugar/array/inGroupsOf.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/inGroupsOf.js

Statements: 23.53% (4 / 17)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 28.57% (4 / 14)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30    1         1   1                                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined'),
    mathAliases = require('../common/var/mathAliases'),
    simpleRepeat = require('../common/internal/simpleRepeat');
 
var ceil = mathAliases.ceil;
 
Sugar.Array.defineInstance({
 
  'inGroupsOf': function(arr, num, padding) {
    var result = [], len = arr.length, group;
    if (len === 0 || num === 0) return arr;
    if (isUndefined(num)) num = 1;
    if (isUndefined(padding)) padding = null;
    simpleRepeat(ceil(len / num), function(i) {
      group = arr.slice(num * i, num * i + num);
      while(group.length < num) {
        group.push(padding);
      }
      result.push(group);
    });
    return result;
  }
 
});
 
module.exports = Sugar.Array.inGroupsOf;
 
Code coverage report for node-npmtest-sugar/sugar/array/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/index.js

Statements: 100% (32 / 32)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (32 / 32)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43      1 1     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1     1 1   1  
'use strict';
 
// Static Methods
require('./construct');
require('./create');
 
// Instance Methods
require('./add');
require('./append');
require('./at');
require('./clone');
require('./compact');
require('./exclude');
require('./first');
require('./flatten');
require('./from');
require('./groupBy');
require('./inGroups');
require('./inGroupsOf');
require('./intersect');
require('./isEmpty');
require('./isEqual');
require('./last');
require('./remove');
require('./removeAt');
require('./sample');
require('./shuffle');
require('./sortBy');
require('./subtract');
require('./to');
require('./union');
require('./unique');
require('./zip');
 
// Aliases
require('./insert');
 
// Accessors
require('./getOption');
require('./setOption');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/array/insert.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/insert.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9    1     1   1  
'use strict';
 
var Sugar = require('sugar-core'),
    append = require('./append');
 
Sugar.Array.alias('insert', 'append');
 
module.exports = Sugar.Array.insert;
 
Code coverage report for node-npmtest-sugar/sugar/array/intersect.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/intersect.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayIntersectOrSubtract = require('./internal/arrayIntersectOrSubtract');
 
Sugar.Array.defineInstance({
 
  'intersect': function(arr1, arr2) {
    return arrayIntersectOrSubtract(arr1, arr2, false);
  }
 
});
 
module.exports = Sugar.Array.intersect;
 
Code coverage report for node-npmtest-sugar/sugar/array/isEmpty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/isEmpty.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Array.defineInstance({
 
  'isEmpty': function(arr) {
    return arr.length === 0;
  }
 
});
 
module.exports = Sugar.Array.isEmpty;
 
Code coverage report for node-npmtest-sugar/sugar/array/isEqual.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/isEqual.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isEqual = require('../common/internal/isEqual');
 
Sugar.Array.defineInstance({
 
  'isEqual': function(a, b) {
    return isEqual(a, b);
  }
 
});
 
module.exports = Sugar.Array.isEqual;
 
Code coverage report for node-npmtest-sugar/sugar/array/last.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/last.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.Array.defineInstance({
 
  'last': function(arr, num) {
    if (isUndefined(num)) return arr[arr.length - 1];
    var start = arr.length - num < 0 ? 0 : arr.length - num;
    return arr.slice(start);
  }
 
});
 
module.exports = Sugar.Array.last;
 
Code coverage report for node-npmtest-sugar/sugar/array/least.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/least.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getLeastOrMost = require('../enumerable/internal/getLeastOrMost');
 
Sugar.Array.defineInstance({
 
  'least': function(arr, all, map) {
    return getLeastOrMost(arr, all, map);
  }
 
});
 
module.exports = Sugar.Array.least;
 
Code coverage report for node-npmtest-sugar/sugar/array/map.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/map.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1           1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    enhancedMap = require('../enumerable/var/enhancedMap'),
    fixArgumentLength = require('../common/internal/fixArgumentLength');
 
Sugar.Array.defineInstance({
 
  'map': fixArgumentLength(enhancedMap)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.map;
 
Code coverage report for node-npmtest-sugar/sugar/array/mapFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/mapFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.mapFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/max.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/max.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getMinOrMax = require('../enumerable/internal/getMinOrMax');
 
Sugar.Array.defineInstance({
 
  'max': function(arr, all, map) {
    return getMinOrMax(arr, all, map, true);
  }
 
});
 
module.exports = Sugar.Array.max;
 
Code coverage report for node-npmtest-sugar/sugar/array/median.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/median.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    median = require('../enumerable/internal/median');
 
Sugar.Array.defineInstance({
 
  'median': function(arr, map) {
    return median(arr, map);
  }
 
});
 
module.exports = Sugar.Array.median;
 
Code coverage report for node-npmtest-sugar/sugar/array/min.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/min.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getMinOrMax = require('../enumerable/internal/getMinOrMax');
 
Sugar.Array.defineInstance({
 
  'min': function(arr, all, map) {
    return getMinOrMax(arr, all, map);
  }
 
});
 
module.exports = Sugar.Array.min;
 
Code coverage report for node-npmtest-sugar/sugar/array/most.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/most.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getLeastOrMost = require('../enumerable/internal/getLeastOrMost');
 
Sugar.Array.defineInstance({
 
  'most': function(arr, all, map) {
    return getLeastOrMost(arr, all, map, true);
  }
 
});
 
module.exports = Sugar.Array.most;
 
Code coverage report for node-npmtest-sugar/sugar/array/none.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/none.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayNone = require('../enumerable/internal/arrayNone'),
    fixArgumentLength = require('../common/internal/fixArgumentLength');
 
Sugar.Array.defineInstance({
 
  'none': fixArgumentLength(arrayNone)
 
});
 
module.exports = Sugar.Array.none;
 
Code coverage report for node-npmtest-sugar/sugar/array/reduceFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/reduceFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.reduceFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/reduceRightFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/reduceRightFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/ » reduceRightFromIndex.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.reduceRightFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/remove.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/remove.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayRemove = require('./internal/arrayRemove');
 
Sugar.Array.defineInstance({
 
  'remove': function(arr, f) {
    return arrayRemove(arr, f);
  }
 
});
 
module.exports = Sugar.Array.remove;
 
Code coverage report for node-npmtest-sugar/sugar/array/removeAt.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/removeAt.js

Statements: 33.33% (3 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1     1                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.Array.defineInstance({
 
  'removeAt': function(arr, start, end) {
    if (isUndefined(start)) return arr;
    if (isUndefined(end))   end = start;
    arr.splice(start, end - start + 1);
    return arr;
  }
 
});
 
module.exports = Sugar.Array.removeAt;
 
Code coverage report for node-npmtest-sugar/sugar/array/sample.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/sample.js

Statements: 20% (4 / 20)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 20% (4 / 20)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42    1             1     1                                                       1  
'use strict';
 
var Sugar = require('sugar-core'),
    trunc = require('../common/var/trunc'),
    arrayClone = require('./internal/arrayClone'),
    classChecks = require('../common/var/classChecks'),
    isUndefined = require('../common/internal/isUndefined'),
    mathAliases = require('../common/var/mathAliases');
 
var isBoolean = classChecks.isBoolean,
    min = mathAliases.min;
 
Sugar.Array.defineInstance({
 
  'sample': function(arr, arg1, arg2) {
    var result = [], num, remove, single;
    if (isBoolean(arg1)) {
      remove = arg1;
    } else {
      num = arg1;
      remove = arg2;
    }
    if (isUndefined(num)) {
      num = 1;
      single = true;
    }
    if (!remove) {
      arr = arrayClone(arr);
    }
    num = min(num, arr.length);
    for (var i = 0, index; i < num; i++) {
      index = trunc(Math.random() * arr.length);
      result.push(arr[index]);
      arr.splice(index, 1);
    }
    return single ? result[0] : result;
  }
 
});
 
module.exports = Sugar.Array.sample;
 
Code coverage report for node-npmtest-sugar/sugar/array/setOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/setOption.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9    1     1   1  
'use strict';
 
var Sugar = require('sugar-core'),
    ARRAY_OPTIONS = require('./var/ARRAY_OPTIONS');
 
var _arrayOptions = ARRAY_OPTIONS._arrayOptions;
 
module.exports = Sugar.Array.setOption;
 
Code coverage report for node-npmtest-sugar/sugar/array/shuffle.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/shuffle.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayShuffle = require('./internal/arrayShuffle');
 
Sugar.Array.defineInstance({
 
  'shuffle': function(arr) {
    return arrayShuffle(arr);
  }
 
});
 
module.exports = Sugar.Array.shuffle;
 
Code coverage report for node-npmtest-sugar/sugar/array/some.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/some.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1           1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    ARRAY_ENHANCEMENTS_FLAG = require('../enumerable/var/ARRAY_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    enhancedMatcherMethods = require('../enumerable/var/enhancedMatcherMethods');
 
var enhancedSome = enhancedMatcherMethods.enhancedSome;
 
Sugar.Array.defineInstance({
 
  'some': fixArgumentLength(enhancedSome)
 
}, [ENHANCEMENTS_FLAG, ARRAY_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.Array.some;
 
Code coverage report for node-npmtest-sugar/sugar/array/someFromIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/someFromIndex.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../enumerable/build/buildFromIndexMethodsCall');
 
module.exports = Sugar.Array.someFromIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/sortBy.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/sortBy.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    compareValue = require('./internal/compareValue'),
    mapWithShortcuts = require('../common/internal/mapWithShortcuts');
 
Sugar.Array.defineInstance({
 
  'sortBy': function(arr, map, desc) {
    arr.sort(function(a, b) {
      var aProperty = mapWithShortcuts(a, map, arr, [a]);
      var bProperty = mapWithShortcuts(b, map, arr, [b]);
      return compareValue(aProperty, bProperty) * (desc ? -1 : 1);
    });
    return arr;
  }
 
});
 
module.exports = Sugar.Array.sortBy;
 
Code coverage report for node-npmtest-sugar/sugar/array/subtract.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/subtract.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayIntersectOrSubtract = require('./internal/arrayIntersectOrSubtract');
 
Sugar.Array.defineInstance({
 
  'subtract': function(arr, item) {
    return arrayIntersectOrSubtract(arr, item, true);
  }
 
});
 
module.exports = Sugar.Array.subtract;
 
Code coverage report for node-npmtest-sugar/sugar/array/sum.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/sum.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    sum = require('../enumerable/internal/sum');
 
Sugar.Array.defineInstance({
 
  'sum': function(arr, map) {
    return sum(arr, map);
  }
 
});
 
module.exports = Sugar.Array.sum;
 
Code coverage report for node-npmtest-sugar/sugar/array/to.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/to.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.Array.defineInstance({
 
  'to': function(arr, num) {
    if (isUndefined(num)) num = arr.length;
    return arr.slice(0, num);
  }
 
});
 
module.exports = Sugar.Array.to;
 
Code coverage report for node-npmtest-sugar/sugar/array/union.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/union.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayUnique = require('./internal/arrayUnique'),
    arrayConcat = require('./internal/arrayConcat');
 
Sugar.Array.defineInstance({
 
  'union': function(arr1, arr2) {
    return arrayUnique(arrayConcat(arr1, arr2));
  }
 
});
 
module.exports = Sugar.Array.union;
 
Code coverage report for node-npmtest-sugar/sugar/array/unique.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/unique.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    arrayUnique = require('./internal/arrayUnique');
 
Sugar.Array.defineInstance({
 
  'unique': function(arr, map) {
    return arrayUnique(arr, map);
  }
 
});
 
module.exports = Sugar.Array.unique;
 
Code coverage report for node-npmtest-sugar/sugar/array/zip.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/zip.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 3)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1                       1  
'use strict';
 
var Sugar = require('sugar-core'),
    map = require('../common/internal/map');
 
Sugar.Array.defineInstanceWithArguments({
 
  'zip': function(arr, args) {
    return map(arr, function(el, i) {
      return [el].concat(map(args, function(k) {
        return (i in k) ? k[i] : null;
      }));
    });
  }
 
});
 
module.exports = Sugar.Array.zip;
 
Code coverage report for node-npmtest-sugar/sugar/array/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/build/

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/build/
File Statements Branches Functions Lines
setArrayChainableConstructorCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/array/build/setArrayChainableConstructorCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/build/setArrayChainableConstructorCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/build/ » setArrayChainableConstructorCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var setArrayChainableConstructor = require('../internal/setArrayChainableConstructor');
 
setArrayChainableConstructor();
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/

Statements: 43.06% (90 / 209)      Branches: 0% (0 / 83)      Functions: 17.65% (6 / 34)      Lines: 43.27% (90 / 208)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/internal/
File Statements Branches Functions Lines
arrayAppend.js 25% (3 / 12) 0% (0 / 4) 0% (0 / 1) 25% (3 / 12)
arrayClone.js 42.86% (3 / 7) 100% (0 / 0) 0% (0 / 2) 42.86% (3 / 7)
arrayCompact.js 60% (3 / 5) 0% (0 / 4) 0% (0 / 2) 60% (3 / 5)
arrayConcat.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 1) 50% (3 / 6)
arrayCreate.js 33.33% (4 / 12) 0% (0 / 12) 0% (0 / 1) 33.33% (4 / 12)
arrayExclude.js 37.5% (3 / 8) 0% (0 / 2) 0% (0 / 1) 37.5% (3 / 8)
arrayFlatten.js 33.33% (4 / 12) 0% (0 / 8) 0% (0 / 2) 33.33% (4 / 12)
arrayGroupBy.js 30.77% (4 / 13) 0% (0 / 4) 0% (0 / 2) 30.77% (4 / 13)
arrayIntersectOrSubtract.js 26.67% (4 / 15) 0% (0 / 4) 0% (0 / 3) 26.67% (4 / 15)
arrayRemove.js 33.33% (3 / 9) 0% (0 / 2) 0% (0 / 1) 33.33% (3 / 9)
arraySafeConcat.js 40% (4 / 10) 0% (0 / 2) 0% (0 / 2) 40% (4 / 10)
arrayShuffle.js 27.27% (3 / 11) 100% (0 / 0) 0% (0 / 1) 27.27% (3 / 11)
arrayUnique.js 33.33% (4 / 12) 0% (0 / 4) 0% (0 / 2) 33.33% (4 / 12)
arrayWrap.js 40% (2 / 5) 100% (0 / 0) 0% (0 / 1) 40% (2 / 5)
codeIsNumeral.js 80% (4 / 5) 0% (0 / 4) 0% (0 / 1) 80% (4 / 5)
compareValue.js 21.05% (4 / 19) 0% (0 / 18) 0% (0 / 1) 21.05% (4 / 19)
getCollationCharacter.js 66.67% (4 / 6) 0% (0 / 2) 0% (0 / 1) 66.67% (4 / 6)
getCollationReadyString.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 1) 40% (4 / 10)
getSortEquivalents.js 100% (10 / 10) 100% (0 / 0) 100% (3 / 3) 100% (10 / 10)
getSortOrder.js 100% (6 / 6) 100% (0 / 0) 100% (2 / 2) 100% (6 / 6)
getSortOrderIndex.js 40% (2 / 5) 0% (0 / 2) 0% (0 / 1) 40% (2 / 5)
isArrayOrInherited.js 80% (4 / 5) 0% (0 / 3) 0% (0 / 1) 80% (4 / 5)
setArrayChainableConstructor.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayAppend.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayAppend.js

Statements: 25% (3 / 12)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 25% (3 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1   1                           1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined');
 
function arrayAppend(arr, el, index) {
  var spliceArgs;
  index = +index;
  if (isNaN(index)) {
    index = arr.length;
  }
  spliceArgs = [index, 0];
  if (isDefined(el)) {
    spliceArgs = spliceArgs.concat(el);
  }
  arr.splice.apply(arr, spliceArgs);
  return arr;
}
 
module.exports = arrayAppend;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayClone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayClone.js

Statements: 42.86% (3 / 7)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var forEach = require('../../common/internal/forEach');
 
function arrayClone(arr) {
  var clone = new Array(arr.length);
  forEach(arr, function(el, i) {
    clone[i] = el;
  });
  return clone;
}
 
module.exports = arrayClone;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayCompact.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayCompact.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var filter = require('../../common/internal/filter');
 
function arrayCompact(arr, all) {
  return filter(arr, function(el) {
    return el || (!all && el != null && el.valueOf() === el.valueOf());
  });
}
 
module.exports = arrayCompact;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayConcat.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayConcat.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1     1             1  
'use strict';
 
var HAS_CONCAT_BUG = require('../var/HAS_CONCAT_BUG'),
    arraySafeConcat = require('./arraySafeConcat');
 
function arrayConcat(arr1, arr2) {
  if (HAS_CONCAT_BUG) {
    return arraySafeConcat(arr1, arr2);
  }
  return arr1.concat(arr2);
}
 
module.exports = arrayConcat;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayCreate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayCreate.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 33.33% (4 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1           1   1                       1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    arrayClone = require('./arrayClone'),
    classChecks = require('../../common/var/classChecks'),
    isObjectType = require('../../common/internal/isObjectType'),
    isArrayOrInherited = require('./isArrayOrInherited');
 
var isString = classChecks.isString;
 
function arrayCreate(obj, clone) {
  var arr;
  if (isArrayOrInherited(obj)) {
    arr = clone ? arrayClone(obj) : obj;
  } else if (isObjectType(obj) || isString(obj)) {
    arr = Array.from(obj);
  } else if (isDefined(obj)) {
    arr = [obj];
  }
  return arr || [];
}
 
module.exports = arrayCreate;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayExclude.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayExclude.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher');
 
function arrayExclude(arr, f) {
  var result = [], matcher = getMatcher(f);
  for (var i = 0; i < arr.length; i++) {
    if (!matcher(arr[i], i, arr)) {
      result.push(arr[i]);
    }
  }
  return result;
}
 
module.exports = arrayExclude;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayFlatten.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayFlatten.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    1     1   1                           1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    classChecks = require('../../common/var/classChecks');
 
var isArray = classChecks.isArray;
 
function arrayFlatten(arr, level, current) {
  var result = [];
  level = level || Infinity;
  current = current || 0;
  forEach(arr, function(el) {
    if (isArray(el) && current < level) {
      result = result.concat(arrayFlatten(el, level, current + 1));
    } else {
      result.push(el);
    }
  });
  return result;
}
 
module.exports = arrayFlatten;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayGroupBy.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayGroupBy.js

Statements: 30.77% (4 / 13)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26    1       1     1                             1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    mapWithShortcuts = require('../../common/internal/mapWithShortcuts'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn,
    forEachProperty = coreUtilityAliases.forEachProperty;
 
function arrayGroupBy(arr, map, fn) {
  var result = {}, key;
  forEach(arr, function(el, i) {
    key = mapWithShortcuts(el, map, arr, [el, i, arr]);
    if (!hasOwn(result, key)) {
      result[key] = [];
    }
    result[key].push(el);
  });
  if (fn) {
    forEachProperty(result, fn);
  }
  return result;
}
 
module.exports = arrayGroupBy;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayIntersectOrSubtract.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayIntersectOrSubtract.js

Statements: 26.67% (4 / 15)      Branches: 0% (0 / 4)      Functions: 0% (0 / 3)      Lines: 26.67% (4 / 15)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/internal/ » arrayIntersectOrSubtract.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    1           1     1                                   1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    arrayWrap = require('./arrayWrap'),
    classChecks = require('../../common/var/classChecks'),
    serializeInternal = require('../../common/internal/serializeInternal'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var isArray = classChecks.isArray,
    hasOwn = coreUtilityAliases.hasOwn;
 
function arrayIntersectOrSubtract(arr1, arr2, subtract) {
  var result = [], obj = {}, refs = [];
  if (!isArray(arr2)) {
    arr2 = arrayWrap(arr2);
  }
  forEach(arr2, function(el) {
    obj[serializeInternal(el, refs)] = true;
  });
  forEach(arr1, function(el) {
    var key = serializeInternal(el, refs);
    if (hasOwn(obj, key) !== subtract) {
      delete obj[key];
      result.push(el);
    }
  });
  return result;
}
 
module.exports = arrayIntersectOrSubtract;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayRemove.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayRemove.js

Statements: 33.33% (3 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 33.33% (3 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1   1                       1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher');
 
function arrayRemove(arr, f) {
  var matcher = getMatcher(f), i = 0;
  while(i < arr.length) {
    if (matcher(arr[i], i, arr)) {
      arr.splice(i, 1);
    } else {
      i++;
    }
  }
  return arr;
}
 
module.exports = arrayRemove;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arraySafeConcat.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arraySafeConcat.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1       1   1                   1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    arrayClone = require('./arrayClone'),
    classChecks = require('../../common/var/classChecks');
 
var isArray = classChecks.isArray;
 
function arraySafeConcat(arr, arg) {
  var result = arrayClone(arr), len = result.length, arr2;
  arr2 = isArray(arg) ? arg : [arg];
  result.length += arr2.length;
  forEach(arr2, function(el, i) {
    result[len + i] = el;
  });
  return result;
}
 
module.exports = arraySafeConcat;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayShuffle.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayShuffle.js

Statements: 27.27% (3 / 11)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 27.27% (3 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1   1                       1  
'use strict';
 
var arrayClone = require('./arrayClone');
 
function arrayShuffle(arr) {
  arr = arrayClone(arr);
  var i = arr.length, j, x;
  while(i) {
    j = (Math.random() * i) | 0;
    x = arr[--i];
    arr[i] = arr[j];
    arr[j] = x;
  }
  return arr;
}
 
module.exports = arrayShuffle;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayUnique.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayUnique.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1         1   1                         1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    mapWithShortcuts = require('../../common/internal/mapWithShortcuts'),
    serializeInternal = require('../../common/internal/serializeInternal'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn;
 
function arrayUnique(arr, map) {
  var result = [], obj = {}, refs = [];
  forEach(arr, function(el, i) {
    var transformed = map ? mapWithShortcuts(el, map, arr, [el, i, arr]) : el;
    var key = serializeInternal(transformed, refs);
    if (!hasOwn(obj, key)) {
      result.push(el);
      obj[key] = true;
    }
  });
  return result;
}
 
module.exports = arrayUnique;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayWrap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/arrayWrap.js

Statements: 40% (2 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
function arrayWrap(obj) {
  var arr = [];
  arr.push(obj);
  return arr;
}
 
module.exports = arrayWrap;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/codeIsNumeral.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/codeIsNumeral.js

Statements: 80% (4 / 5)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1     1         1  
'use strict';
 
var HALF_WIDTH_NINE = require('../var/HALF_WIDTH_NINE'),
    FULL_WIDTH_NINE = require('../var/FULL_WIDTH_NINE'),
    CommonChars = require('../../common/var/CommonChars');
 
var HALF_WIDTH_ZERO = CommonChars.HALF_WIDTH_ZERO,
    FULL_WIDTH_ZERO = CommonChars.FULL_WIDTH_ZERO;
 
function codeIsNumeral(code) {
  return (code >= HALF_WIDTH_ZERO && code <= HALF_WIDTH_NINE) ||
         (code >= FULL_WIDTH_ZERO && code <= FULL_WIDTH_NINE);
}
 
module.exports = codeIsNumeral;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/compareValue.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/compareValue.js

Statements: 21.05% (4 / 19)      Branches: 0% (0 / 18)      Functions: 0% (0 / 1)      Lines: 21.05% (4 / 19)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34    1     1       1                                             1  
'use strict';
 
var ARRAY_OPTIONS = require('../var/ARRAY_OPTIONS'),
    classChecks = require('../../common/var/classChecks');
 
var isString = classChecks.isString,
    isArray = classChecks.isArray,
    _arrayOptions = ARRAY_OPTIONS._arrayOptions;
 
function compareValue(aVal, bVal) {
  var cmp, i, collate;
  if (isString(aVal) && isString(bVal)) {
    collate = _arrayOptions('sortCollate');
    return collate(aVal, bVal);
  } else if (isArray(aVal) && isArray(bVal)) {
    if (aVal.length < bVal.length) {
      return -1;
    } else if (aVal.length > bVal.length) {
      return 1;
    } else {
      for(i = 0; i < aVal.length; i++) {
        cmp = compareValue(aVal[i], bVal[i]);
        if (cmp !== 0) {
          return cmp;
        }
      }
      return 0;
    }
  }
  return aVal < bVal ? -1 : aVal > bVal ? 1 : 0;
}
 
module.exports = compareValue;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/getCollationCharacter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/getCollationCharacter.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1   1   1         1  
'use strict';
 
var coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var getOwn = coreUtilityAliases.getOwn;
 
function getCollationCharacter(str, index, sortEquivalents) {
  var chr = str.charAt(index);
  return getOwn(sortEquivalents, chr) || chr;
}
 
module.exports = getCollationCharacter;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/getCollationReadyString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/getCollationReadyString.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 40% (4 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/internal/ » getCollationReadyString.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1   1   1                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isString = classChecks.isString;
 
function getCollationReadyString(str, sortIgnore, sortIgnoreCase) {
  if (!isString(str)) str = String(str);
  if (sortIgnoreCase) {
    str = str.toLowerCase();
  }
  if (sortIgnore) {
    str = str.replace(sortIgnore, '');
  }
  return str;
}
 
module.exports = getCollationReadyString;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortEquivalents.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortEquivalents.js

Statements: 100% (10 / 10)      Branches: 100% (0 / 0)      Functions: 100% (3 / 3)      Lines: 100% (10 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1 1 1 7 7 25 25     1     1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    spaceSplit = require('../../common/internal/spaceSplit');
 
function getSortEquivalents() {
  var equivalents = {};
  forEach(spaceSplit('AÁÀÂÃÄ CÇ EÉÈÊË IÍÌİÎÏ OÓÒÔÕÖ Sß UÚÙÛÜ'), function(set) {
    var first = set.charAt(0);
    forEach(set.slice(1).split(''), function(chr) {
      equivalents[chr] = first;
      equivalents[chr.toLowerCase()] = first.toLowerCase();
    });
  });
  return equivalents;
}
 
module.exports = getSortEquivalents;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortOrder.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortOrder.js

Statements: 100% (6 / 6)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (6 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1   1 1 1 78       1  
'use strict';
 
var map = require('../../common/internal/map');
 
function getSortOrder() {
  var order = 'AÁÀÂÃĄBCĆČÇDĎÐEÉÈĚÊËĘFGĞHıIÍÌİÎÏJKLŁMNŃŇÑOÓÒÔPQRŘSŚŠŞTŤUÚÙŮÛÜVWXYÝZŹŻŽÞÆŒØÕÅÄÖ';
  return map(order.split(''), function(str) {
    return str + str.toLowerCase();
  }).join('');
}
 
module.exports = getSortOrder;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortOrderIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/getSortOrderIndex.js

Statements: 40% (2 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function getSortOrderIndex(chr, sortOrder) {
  if (!chr) {
    return null;
  } else {
    return sortOrder.indexOf(chr);
  }
}
 
module.exports = getSortOrderIndex;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/isArrayOrInherited.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/isArrayOrInherited.js

Statements: 80% (4 / 5)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1       1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isArray = classChecks.isArray;
 
function isArrayOrInherited(obj) {
  return obj && obj.constructor && isArray(obj.constructor.prototype);
}
 
module.exports = isArrayOrInherited;
 
Code coverage report for node-npmtest-sugar/sugar/array/internal/setArrayChainableConstructor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/internal/setArrayChainableConstructor.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/internal/ » setArrayChainableConstructor.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1   1 1     1  
'use strict';
 
var arrayCreate = require('./arrayCreate'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    setChainableConstructor = require('../../common/internal/setChainableConstructor');
 
var sugarArray = namespaceAliases.sugarArray;
 
function setArrayChainableConstructor() {
  setChainableConstructor(sugarArray, arrayCreate);
}
 
module.exports = setArrayChainableConstructor;
 
Code coverage report for node-npmtest-sugar/sugar/array/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/var/

Statements: 25% (9 / 36)      Branches: 0% (0 / 22)      Functions: 0% (0 / 1)      Lines: 25.71% (9 / 35)      Ignored: none     

All files » node-npmtest-sugar/sugar/array/var/
File Statements Branches Functions Lines
ARRAY_OPTIONS.js 18.18% (6 / 33) 0% (0 / 22) 0% (0 / 1) 18.75% (6 / 32)
FULL_WIDTH_NINE.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
HALF_WIDTH_NINE.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
HAS_CONCAT_BUG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
Code coverage report for node-npmtest-sugar/sugar/array/var/ARRAY_OPTIONS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/var/ARRAY_OPTIONS.js

Statements: 18.18% (6 / 33)      Branches: 0% (0 / 22)      Functions: 0% (0 / 1)      Lines: 18.75% (6 / 32)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69    1                   1   1                 1   1                                                                             1        
'use strict';
 
var getSortOrder = require('../internal/getSortOrder'),
    codeIsNumeral = require('../internal/codeIsNumeral'),
    stringToNumber = require('../../common/internal/stringToNumber'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    getSortOrderIndex = require('../internal/getSortOrderIndex'),
    getSortEquivalents = require('../internal/getSortEquivalents'),
    defineOptionsAccessor = require('../../common/internal/defineOptionsAccessor'),
    getCollationCharacter = require('../internal/getCollationCharacter'),
    getCollationReadyString = require('../internal/getCollationReadyString');
 
var sugarArray = namespaceAliases.sugarArray;
 
var ARRAY_OPTIONS = {
  'sortIgnore':      null,
  'sortNatural':     true,
  'sortIgnoreCase':  true,
  'sortOrder':       getSortOrder(),
  'sortCollate':     collateStrings,
  'sortEquivalents': getSortEquivalents()
};
 
var _arrayOptions = defineOptionsAccessor(sugarArray, ARRAY_OPTIONS);
 
function collateStrings(a, b) {
  var aValue, bValue, aChar, bChar, aEquiv, bEquiv, index = 0, tiebreaker = 0;
 
  var sortOrder       = _arrayOptions('sortOrder');
  var sortIgnore      = _arrayOptions('sortIgnore');
  var sortNatural     = _arrayOptions('sortNatural');
  var sortIgnoreCase  = _arrayOptions('sortIgnoreCase');
  var sortEquivalents = _arrayOptions('sortEquivalents');
 
  a = getCollationReadyString(a, sortIgnore, sortIgnoreCase);
  b = getCollationReadyString(b, sortIgnore, sortIgnoreCase);
 
  do {
 
    aChar  = getCollationCharacter(a, index, sortEquivalents);
    bChar  = getCollationCharacter(b, index, sortEquivalents);
    aValue = getSortOrderIndex(aChar, sortOrder);
    bValue = getSortOrderIndex(bChar, sortOrder);
 
    if (aValue === -1 || bValue === -1) {
      aValue = a.charCodeAt(index) || null;
      bValue = b.charCodeAt(index) || null;
      if (sortNatural && codeIsNumeral(aValue) && codeIsNumeral(bValue)) {
        aValue = stringToNumber(a.slice(index));
        bValue = stringToNumber(b.slice(index));
      }
    } else {
      aEquiv = aChar !== a.charAt(index);
      bEquiv = bChar !== b.charAt(index);
      if (aEquiv !== bEquiv && tiebreaker === 0) {
        tiebreaker = aEquiv - bEquiv;
      }
    }
    index += 1;
  } while(aValue != null && bValue != null && aValue === bValue);
  if (aValue === bValue) return tiebreaker;
  return aValue - bValue;
}
 
module.exports = {
  ARRAY_OPTIONS: ARRAY_OPTIONS,
  _arrayOptions: _arrayOptions
};
 
Code coverage report for node-npmtest-sugar/sugar/array/var/FULL_WIDTH_NINE.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/var/FULL_WIDTH_NINE.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 0xff19;
 
Code coverage report for node-npmtest-sugar/sugar/array/var/HALF_WIDTH_NINE.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/var/HALF_WIDTH_NINE.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 0x39;
 
Code coverage report for node-npmtest-sugar/sugar/array/var/HAS_CONCAT_BUG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/array/var/HAS_CONCAT_BUG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = !('0' in [].concat(undefined).concat());
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/

Statements: 44.14% (305 / 691)      Branches: 3.13% (11 / 351)      Functions: 23.14% (28 / 121)      Lines: 44.46% (305 / 686)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/
File Statements Branches Functions Lines
allCharsReg.js 100% (3 / 3) 100% (0 / 0) 100% (1 / 1) 100% (3 / 3)
assertArgument.js 50% (2 / 4) 0% (0 / 2) 0% (0 / 1) 50% (2 / 4)
assertArray.js 66.67% (4 / 6) 0% (0 / 2) 0% (0 / 1) 66.67% (4 / 6)
assertCallable.js 66.67% (4 / 6) 0% (0 / 2) 0% (0 / 1) 66.67% (4 / 6)
assertWritable.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
callDateGet.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
callDateSet.js 50% (3 / 6) 0% (0 / 6) 0% (0 / 1) 50% (3 / 6)
coercePositiveInteger.js 50% (4 / 8) 0% (0 / 7) 0% (0 / 1) 50% (4 / 8)
coercePrimitiveToObject.js 44.44% (4 / 9) 0% (0 / 6) 0% (0 / 1) 44.44% (4 / 9)
collectSimilarMethods.js 100% (10 / 10) 100% (2 / 2) 100% (2 / 2) 100% (10 / 10)
commaSplit.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
createFormatMatcher.js 23.64% (13 / 55) 0% (0 / 26) 9.09% (1 / 11) 23.64% (13 / 55)
dateMatcher.js 40% (2 / 5) 0% (0 / 4) 0% (0 / 2) 40% (2 / 5)
deepGetProperty.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
deepHasProperty.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
deepSetProperty.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
defaultMatcher.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 2) 60% (3 / 5)
defineAccessor.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
defineInstanceAndStaticSimilar.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
defineInstanceSimilar.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
defineOnPrototype.js 100% (7 / 7) 100% (0 / 0) 100% (2 / 2) 100% (7 / 7)
defineOptionsAccessor.js 50% (10 / 20) 0% (0 / 4) 25% (1 / 4) 50% (10 / 20)
entryAtIndex.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
escapeRegExp.js 85.71% (6 / 7) 50% (1 / 2) 100% (1 / 1) 100% (6 / 6)
filter.js 100% (8 / 8) 100% (4 / 4) 100% (1 / 1) 100% (8 / 8)
fixArgumentLength.js 55.56% (5 / 9) 100% (0 / 0) 33.33% (1 / 3) 55.56% (5 / 9)
forEach.js 85.71% (6 / 7) 50% (1 / 2) 100% (1 / 1) 85.71% (6 / 7)
forceStringCoercion.js 40% (2 / 5) 100% (0 / 0) 0% (0 / 1) 40% (2 / 5)
functionMatcher.js 50% (2 / 4) 0% (0 / 2) 0% (0 / 2) 50% (2 / 4)
getAcronym.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
getEntriesForIndexes.js 36.36% (4 / 11) 0% (0 / 2) 0% (0 / 2) 36.36% (4 / 11)
getHumanWord.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
getKeys.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
getMatcher.js 18.52% (5 / 27) 0% (0 / 16) 0% (0 / 4) 18.52% (5 / 27)
getNormalizedIndex.js 28.57% (2 / 7) 0% (0 / 6) 0% (0 / 1) 33.33% (2 / 6)
getOrdinalSuffix.js 22.22% (2 / 9) 0% (0 / 8) 0% (0 / 1) 22.22% (2 / 9)
getOwnKey.js 66.67% (4 / 6) 0% (0 / 2) 0% (0 / 1) 66.67% (4 / 6)
getRegExpFlags.js 25% (3 / 12) 0% (0 / 6) 0% (0 / 2) 25% (3 / 12)
getSparseArrayIndexes.js 21.43% (3 / 14) 0% (0 / 11) 0% (0 / 2) 21.43% (3 / 14)
handleDeepProperty.js 7.14% (5 / 70) 0% (0 / 72) 0% (0 / 3) 7.25% (5 / 69)
hasOwnEnumeratedProperties.js 40% (4 / 10) 0% (0 / 4) 0% (0 / 1) 40% (4 / 10)
hasProperty.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
hasValidPlainObjectPrototype.js 57.14% (4 / 7) 0% (0 / 5) 0% (0 / 1) 57.14% (4 / 7)
indexOf.js 33.33% (2 / 6) 0% (0 / 4) 0% (0 / 1) 40% (2 / 5)
isArrayIndex.js 66.67% (2 / 3) 0% (0 / 2) 0% (0 / 1) 66.67% (2 / 3)
isClass.js 100% (7 / 7) 50% (1 / 2) 100% (1 / 1) 100% (7 / 7)
isDefined.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
isEqual.js 13.51% (5 / 37) 0% (0 / 41) 0% (0 / 3) 13.51% (5 / 37)
isObjectType.js 66.67% (2 / 3) 0% (0 / 4) 0% (0 / 1) 66.67% (2 / 3)
isPlainObject.js 75% (3 / 4) 0% (0 / 4) 0% (0 / 1) 75% (3 / 4)
isPrimitive.js 50% (2 / 4) 0% (0 / 6) 0% (0 / 1) 50% (2 / 4)
isRealNaN.js 66.67% (2 / 3) 0% (0 / 2) 0% (0 / 1) 66.67% (2 / 3)
isUndefined.js 100% (3 / 3) 100% (0 / 0) 100% (1 / 1) 100% (3 / 3)
iterateOverSparseArray.js 37.5% (3 / 8) 100% (0 / 0) 0% (0 / 1) 37.5% (3 / 8)
iterateWithCyclicCheck.js 25% (6 / 24) 0% (0 / 8) 0% (0 / 3) 25% (6 / 24)
map.js 100% (7 / 7) 100% (2 / 2) 100% (1 / 1) 100% (7 / 7)
mapToArray.js 33.33% (2 / 6) 100% (0 / 0) 0% (0 / 2) 33.33% (2 / 6)
mapWithShortcuts.js 28.57% (4 / 14) 0% (0 / 10) 0% (0 / 2) 28.57% (4 / 14)
memoizeFunction.js 46.15% (6 / 13) 0% (0 / 4) 50% (1 / 2) 46.15% (6 / 13)
padNumber.js 44.44% (4 / 9) 0% (0 / 10) 0% (0 / 1) 44.44% (4 / 9)
periodSplit.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
privatePropertyAccessor.js 60% (6 / 10) 0% (0 / 2) 50% (1 / 2) 60% (6 / 10)
regexMatcher.js 40% (2 / 5) 100% (0 / 0) 0% (0 / 2) 40% (2 / 5)
repeatString.js 20% (2 / 10) 0% (0 / 4) 0% (0 / 1) 20% (2 / 10)
runHumanRules.js 75% (3 / 4) 0% (0 / 3) 0% (0 / 1) 75% (3 / 4)
serializeInternal.js 19.23% (5 / 26) 0% (0 / 16) 0% (0 / 3) 19.23% (5 / 26)
setChainableConstructor.js 75% (3 / 4) 100% (0 / 0) 50% (1 / 2) 75% (3 / 4)
setToArray.js 33.33% (2 / 6) 100% (0 / 0) 0% (0 / 2) 33.33% (2 / 6)
simpleCapitalize.js 100% (3 / 3) 100% (0 / 0) 100% (1 / 1) 100% (3 / 3)
simpleClone.js 100% (4 / 4) 100% (0 / 0) 100% (1 / 1) 100% (4 / 4)
simpleMerge.js 100% (7 / 7) 100% (0 / 0) 100% (2 / 2) 100% (7 / 7)
simpleRepeat.js 50% (2 / 4) 100% (0 / 0) 0% (0 / 1) 50% (2 / 4)
spaceSplit.js 100% (3 / 3) 100% (0 / 0) 100% (1 / 1) 100% (3 / 3)
stringToNumber.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 2) 36.36% (4 / 11)
trim.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
withPrecision.js 44.44% (4 / 9) 0% (0 / 6) 0% (0 / 1) 50% (4 / 8)
wrapNamespace.js 100% (4 / 4) 100% (0 / 0) 100% (2 / 2) 100% (4 / 4)
Code coverage report for node-npmtest-sugar/sugar/common/internal/allCharsReg.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/allCharsReg.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1 1     1  
'use strict';
 
function allCharsReg(src) {
  return RegExp('[' + src + ']', 'g');
}
 
module.exports = allCharsReg;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/assertArgument.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/assertArgument.js

Statements: 50% (2 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 50% (2 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
function assertArgument(exists) {
  if (!exists) {
    throw new TypeError('Argument required');
  }
}
 
module.exports = assertArgument;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/assertArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/assertArray.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1   1           1  
'use strict';
 
var classChecks = require('../var/classChecks');
 
var isArray = classChecks.isArray;
 
function assertArray(obj) {
  if (!isArray(obj)) {
    throw new TypeError('Array required');
  }
}
 
module.exports = assertArray;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/assertCallable.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/assertCallable.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1   1           1  
'use strict';
 
var classChecks = require('../var/classChecks');
 
var isFunction = classChecks.isFunction;
 
function assertCallable(obj) {
  if (!isFunction(obj)) {
    throw new TypeError('Function is not callable');
  }
}
 
module.exports = assertCallable;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/assertWritable.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/assertWritable.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var isPrimitive = require('./isPrimitive');
 
function assertWritable(obj) {
  if (isPrimitive(obj)) {
    // If strict mode is active then primitives will throw an
    // error when attempting to write properties. We can't be
    // sure if strict mode is available, so pre-emptively
    // throw an error here to ensure consistent behavior.
    throw new TypeError('Property cannot be written');
  }
}
 
module.exports = assertWritable;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/callDateGet.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/callDateGet.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var _utc = require('../var/_utc');
 
function callDateGet(d, method) {
  return d['get' + (_utc(d) ? 'UTC' : '') + method]();
}
 
module.exports = callDateGet;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/callDateSet.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/callDateSet.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1     1                           1  
'use strict';
 
var _utc = require('../var/_utc'),
    callDateGet = require('./callDateGet');
 
function callDateSet(d, method, value, safe) {
  // "Safe" denotes not setting the date if the value is the same as what is
  // currently set. In theory this should be a noop, however it will cause
  // timezone shifts when in the middle of a DST fallback. This is unavoidable
  // as the notation itself is ambiguous (i.e. there are two "1:00ams" on
  // November 1st, 2015 in northern hemisphere timezones that follow DST),
  // however when advancing or rewinding dates this can throw off calculations
  // so avoiding this unintentional shifting on an opt-in basis.
  if (safe && value === callDateGet(d, method, value)) {
    return;
  }
  d['set' + (_utc(d) ? 'UTC' : '') + method](value);
}
 
module.exports = callDateSet;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/coercePositiveInteger.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/coercePositiveInteger.js

Statements: 50% (4 / 8)      Branches: 0% (0 / 7)      Functions: 0% (0 / 1)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var trunc = require('../var/trunc'),
    classChecks = require('../var/classChecks');
 
var isNumber = classChecks.isNumber;
 
function coercePositiveInteger(n) {
  n = +n || 0;
  if (n < 0 || !isNumber(n) || !isFinite(n)) {
    throw new RangeError('Invalid number');
  }
  return trunc(n);
}
 
module.exports = coercePositiveInteger;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/coercePrimitiveToObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/coercePrimitiveToObject.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » coercePrimitiveToObject.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1         1   1                   1  
'use strict';
 
var NO_KEYS_IN_STRING_OBJECTS = require('../var/NO_KEYS_IN_STRING_OBJECTS'),
    isPrimitive = require('./isPrimitive'),
    classChecks = require('../var/classChecks'),
    forceStringCoercion = require('./forceStringCoercion');
 
var isString = classChecks.isString;
 
function coercePrimitiveToObject(obj) {
  if (isPrimitive(obj)) {
    obj = Object(obj);
  }
  if (NO_KEYS_IN_STRING_OBJECTS && isString(obj)) {
    forceStringCoercion(obj);
  }
  return obj;
}
 
module.exports = coercePrimitiveToObject;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/collectSimilarMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/collectSimilarMethods.js

Statements: 100% (10 / 10)      Branches: 100% (2 / 2)      Functions: 100% (2 / 2)      Lines: 100% (10 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1   1 6 6 3   6 67   6     1  
'use strict';
 
var forEach = require('./forEach'),
    spaceSplit = require('./spaceSplit'),
    classChecks = require('../var/classChecks');
 
var isString = classChecks.isString;
 
function collectSimilarMethods(set, fn) {
  var methods = {};
  if (isString(set)) {
    set = spaceSplit(set);
  }
  forEach(set, function(el, i) {
    fn(methods, el, i);
  });
  return methods;
}
 
module.exports = collectSimilarMethods;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/commaSplit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/commaSplit.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1 8     1  
'use strict';
 
var CommonChars = require('../var/CommonChars');
 
var HALF_WIDTH_COMMA = CommonChars.HALF_WIDTH_COMMA;
 
function commaSplit(str) {
  return str.split(HALF_WIDTH_COMMA);
}
 
module.exports = commaSplit;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/createFormatMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/createFormatMatcher.js

Statements: 23.64% (13 / 55)      Branches: 0% (0 / 26)      Functions: 9.09% (1 / 11)      Lines: 23.64% (13 / 55)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91    1       1     1   2 2   1                                                 1                     1           1           1           1                       2                 1  
'use strict';
 
var STRING_FORMAT_REG = require('../var/STRING_FORMAT_REG'),
    CommonChars = require('../var/CommonChars'),
    memoizeFunction = require('./memoizeFunction');
 
var OPEN_BRACE = CommonChars.OPEN_BRACE,
    CLOSE_BRACE = CommonChars.CLOSE_BRACE;
 
function createFormatMatcher(bracketMatcher, percentMatcher, precheck) {
 
  var reg = STRING_FORMAT_REG;
  var compileMemoized = memoizeFunction(compile);
 
  function getToken(format, match) {
    var get, token, literal, fn;
    var bKey = match[2];
    var pLit = match[3];
    var pKey = match[5];
    if (match[4] && percentMatcher) {
      token = pKey;
      get = percentMatcher;
    } else if (bKey) {
      token = bKey;
      get = bracketMatcher;
    } else if (pLit && percentMatcher) {
      literal = pLit;
    } else {
      literal = match[1] || match[0];
    }
    if (get) {
      assertPassesPrecheck(precheck, bKey, pKey);
      fn = function(obj, opt) {
        return get(obj, token, opt);
      };
    }
    format.push(fn || getLiteral(literal));
  }
 
  function getSubstring(format, str, start, end) {
    if (end > start) {
      var sub = str.slice(start, end);
      assertNoUnmatched(sub, OPEN_BRACE);
      assertNoUnmatched(sub, CLOSE_BRACE);
      format.push(function() {
        return sub;
      });
    }
  }
 
  function getLiteral(str) {
    return function() {
      return str;
    };
  }
 
  function assertPassesPrecheck(precheck, bt, pt) {
    if (precheck && !precheck(bt, pt)) {
      throw new TypeError('Invalid token '+ (bt || pt) +' in format string');
    }
  }
 
  function assertNoUnmatched(str, chr) {
    if (str.indexOf(chr) !== -1) {
      throw new TypeError('Unmatched '+ chr +' in format string');
    }
  }
 
  function compile(str) {
    var format = [], lastIndex = 0, match;
    reg.lastIndex = 0;
    while(match = reg.exec(str)) {
      getSubstring(format, str, lastIndex, match.index);
      getToken(format, match);
      lastIndex = reg.lastIndex;
    }
    getSubstring(format, str, lastIndex, str.length);
    return format;
  }
 
  return function(str, obj, opt) {
    var format = compileMemoized(str), result = '';
    for (var i = 0; i < format.length; i++) {
      result += format[i](obj, opt);
    }
    return result;
  };
}
 
module.exports = createFormatMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/dateMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/dateMatcher.js

Statements: 40% (2 / 5)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
function dateMatcher(d) {
  var ms = d.getTime();
  return function(el) {
    return !!(el && el.getTime) && el.getTime() === ms;
  };
}
 
module.exports = dateMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/deepGetProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/deepGetProperty.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var handleDeepProperty = require('./handleDeepProperty');
 
function deepGetProperty(obj, key, any) {
  return handleDeepProperty(obj, key, any, false);
}
 
module.exports = deepGetProperty;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/deepHasProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/deepHasProperty.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var handleDeepProperty = require('./handleDeepProperty');
 
function deepHasProperty(obj, key, any) {
  return handleDeepProperty(obj, key, any, true);
}
 
module.exports = deepHasProperty;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/deepSetProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/deepSetProperty.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1   1         1  
'use strict';
 
var handleDeepProperty = require('./handleDeepProperty');
 
function deepSetProperty(obj, key, val) {
  handleDeepProperty(obj, key, false, false, true, false, val);
  return obj;
}
 
module.exports = deepSetProperty;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defaultMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defaultMatcher.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var isEqual = require('./isEqual');
 
function defaultMatcher(f) {
  return function(el) {
    return isEqual(el, f);
  };
}
 
module.exports = defaultMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defineAccessor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defineAccessor.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1 6     1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var setProperty = coreUtilityAliases.setProperty;
 
function defineAccessor(namespace, name, fn) {
  setProperty(namespace, name, fn);
}
 
module.exports = defineAccessor;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defineInstanceAndStaticSimilar.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defineInstanceAndStaticSimilar.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » defineInstanceAndStaticSimilar.js
1 2 3 4 5 6 7 8 9 10 11 12 13    1     1   1 1     1  
'use strict';
 
var methodDefineAliases = require('../var/methodDefineAliases'),
    collectSimilarMethods = require('./collectSimilarMethods');
 
var defineInstanceAndStatic = methodDefineAliases.defineInstanceAndStatic;
 
function defineInstanceAndStaticSimilar(sugarNamespace, set, fn, flags) {
  defineInstanceAndStatic(sugarNamespace, collectSimilarMethods(set, fn), flags);
}
 
module.exports = defineInstanceAndStaticSimilar;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defineInstanceSimilar.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defineInstanceSimilar.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1   1 5     1  
'use strict';
 
var methodDefineAliases = require('../var/methodDefineAliases'),
    collectSimilarMethods = require('./collectSimilarMethods');
 
var defineInstance = methodDefineAliases.defineInstance;
 
function defineInstanceSimilar(sugarNamespace, set, fn, flags) {
  defineInstance(sugarNamespace, collectSimilarMethods(set, fn), flags);
}
 
module.exports = defineInstanceSimilar;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defineOnPrototype.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defineOnPrototype.js

Statements: 100% (7 / 7)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   1   1 11 11 18       1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function defineOnPrototype(ctor, methods) {
  var proto = ctor.prototype;
  forEachProperty(methods, function(val, key) {
    proto[key] = val;
  });
}
 
module.exports = defineOnPrototype;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/defineOptionsAccessor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/defineOptionsAccessor.js

Statements: 50% (10 / 20)      Branches: 0% (0 / 4)      Functions: 25% (1 / 4)      Lines: 50% (10 / 20)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38    1       1   1 3   1       1                               3 3 3     1  
'use strict';
 
var simpleClone = require('./simpleClone'),
    defineAccessor = require('./defineAccessor'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function defineOptionsAccessor(namespace, defaults) {
  var obj = simpleClone(defaults);
 
  function getOption(name) {
    return obj[name];
  }
 
  function setOption(arg1, arg2) {
    var options;
    if (arguments.length === 1) {
      options = arg1;
    } else {
      options = {};
      options[arg1] = arg2;
    }
    forEachProperty(options, function(val, name) {
      if (val === null) {
        val = defaults[name];
      }
      obj[name] = val;
    });
  }
 
  defineAccessor(namespace, 'getOption', getOption);
  defineAccessor(namespace, 'setOption', setOption);
  return getOption;
}
 
module.exports = defineOptionsAccessor;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/entryAtIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/entryAtIndex.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1   1         1  
'use strict';
 
var getNormalizedIndex = require('./getNormalizedIndex');
 
function entryAtIndex(obj, index, length, loop, isString) {
  index = getNormalizedIndex(index, length, loop);
  return isString ? obj.charAt(index) : obj[index];
}
 
module.exports = entryAtIndex;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/escapeRegExp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/escapeRegExp.js

Statements: 85.71% (6 / 7)      Branches: 50% (1 / 2)      Functions: 100% (1 / 1)      Lines: 100% (6 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1   1   1 776 776     1  
'use strict';
 
var classChecks = require('../var/classChecks');
 
var isString = classChecks.isString;
 
function escapeRegExp(str) {
  Iif (!isString(str)) str = String(str);
  return str.replace(/([\\\/\'*+?|()\[\]{}.^$-])/g,'\\$1');
}
 
module.exports = escapeRegExp;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/filter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/filter.js

Statements: 100% (8 / 8)      Branches: 100% (4 / 4)      Functions: 100% (1 / 1)      Lines: 100% (8 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1 9 9 144 144 34     9     1  
'use strict';
 
function filter(arr, fn) {
  var result = [];
  for (var i = 0, len = arr.length; i < len; i++) {
    var el = arr[i];
    if (i in arr && fn(el, i)) {
      result.push(el);
    }
  }
  return result;
}
 
module.exports = filter;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/fixArgumentLength.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/fixArgumentLength.js

Statements: 55.56% (5 / 9)      Branches: 100% (0 / 0)      Functions: 33.33% (1 / 3)      Lines: 55.56% (5 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1 9       9       9     1  
'use strict';
 
function fixArgumentLength(fn) {
  var staticFn = function(a) {
    var args = arguments;
    return fn(a, args[1], args[2], args.length - 1);
  };
  staticFn.instance = function(b) {
    var args = arguments;
    return fn(this, b, args[1], args.length);
  };
  return staticFn;
}
 
module.exports = fixArgumentLength;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/forEach.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/forEach.js

Statements: 85.71% (6 / 7)      Branches: 50% (1 / 2)      Functions: 100% (1 / 1)      Lines: 85.71% (6 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   1 173 468     468       1  
'use strict';
 
var iterateOverSparseArray = require('./iterateOverSparseArray');
 
function forEach(arr, fn) {
  for (var i = 0, len = arr.length; i < len; i++) {
    Iif (!(i in arr)) {
      return iterateOverSparseArray(arr, fn, i);
    }
    fn(arr[i], i);
  }
}
 
module.exports = forEach;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/forceStringCoercion.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/forceStringCoercion.js

Statements: 40% (2 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
function forceStringCoercion(obj) {
  var i = 0, chr;
  while (chr = obj.charAt(i)) {
    obj[i++] = chr;
  }
}
 
module.exports = forceStringCoercion;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/functionMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/functionMatcher.js

Statements: 50% (2 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 50% (2 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
function functionMatcher(fn) {
  return function(el, i, arr) {
    // Return true up front if match by reference
    return el === fn || fn.call(arr, el, i, arr);
  };
}
 
module.exports = functionMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getAcronym.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getAcronym.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var Inflections = require('../var/Inflections');
 
function getAcronym(str) {
  return Inflections.acronyms && Inflections.acronyms.find(str);
}
 
module.exports = getAcronym;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getEntriesForIndexes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getEntriesForIndexes.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1       1   1                       1  
'use strict';
 
var forEach = require('./forEach'),
    classChecks = require('../var/classChecks'),
    entryAtIndex = require('./entryAtIndex');
 
var isArray = classChecks.isArray;
 
function getEntriesForIndexes(obj, find, loop, isString) {
  var result, length = obj.length;
  if (!isArray(find)) {
    return entryAtIndex(obj, find, length, loop, isString);
  }
  result = new Array(find.length);
  forEach(find, function(index, i) {
    result[i] = entryAtIndex(obj, index, length, loop, isString);
  });
  return result;
}
 
module.exports = getEntriesForIndexes;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getHumanWord.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getHumanWord.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var Inflections = require('../var/Inflections');
 
function getHumanWord(str) {
  return Inflections.human && Inflections.human.find(str);
}
 
module.exports = getHumanWord;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getKeys.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getKeys.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function getKeys(obj) {
  return Object.keys(obj);
}
 
module.exports = getKeys;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getMatcher.js

Statements: 18.52% (5 / 27)      Branches: 0% (0 / 16)      Functions: 0% (0 / 4)      Lines: 18.52% (5 / 27)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56    1                   1             1                                 1                                   1  
'use strict';
 
var isPrimitive = require('./isPrimitive'),
    classChecks = require('../var/classChecks'),
    dateMatcher = require('./dateMatcher'),
    regexMatcher = require('./regexMatcher'),
    isObjectType = require('./isObjectType'),
    isPlainObject = require('./isPlainObject'),
    defaultMatcher = require('./defaultMatcher'),
    functionMatcher = require('./functionMatcher'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var getOwn = coreUtilityAliases.getOwn,
    classToString = coreUtilityAliases.classToString,
    forEachProperty = coreUtilityAliases.forEachProperty,
    isDate = classChecks.isDate,
    isRegExp = classChecks.isRegExp,
    isFunction = classChecks.isFunction;
 
function getMatcher(f) {
  if (!isPrimitive(f)) {
    var className = classToString(f);
    if (isRegExp(f, className)) {
      return regexMatcher(f);
    } else if (isDate(f, className)) {
      return dateMatcher(f);
    } else if (isFunction(f, className)) {
      return functionMatcher(f);
    } else if (isPlainObject(f, className)) {
      return fuzzyMatcher(f);
    }
  }
  // Default is standard isEqual
  return defaultMatcher(f);
}
 
function fuzzyMatcher(obj) {
  var matchers = {};
  return function(el, i, arr) {
    var matched = true;
    if (!isObjectType(el)) {
      return false;
    }
    forEachProperty(obj, function(val, key) {
      matchers[key] = getOwn(matchers, key) || getMatcher(val);
      if (matchers[key].call(arr, el[key], i, arr) === false) {
        matched = false;
      }
      return matched;
    });
    return matched;
  };
}
 
module.exports = getMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getNormalizedIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getNormalizedIndex.js

Statements: 28.57% (2 / 7)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function getNormalizedIndex(index, length, loop) {
  if (index && loop) {
    index = index % length;
  }
  if (index < 0) index = length + index;
  return index;
}
 
module.exports = getNormalizedIndex;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getOrdinalSuffix.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getOrdinalSuffix.js

Statements: 22.22% (2 / 9)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 22.22% (2 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1                         1  
'use strict';
 
function getOrdinalSuffix(num) {
  if (num >= 11 && num <= 13) {
    return 'th';
  } else {
    switch(num % 10) {
      case 1:  return 'st';
      case 2:  return 'nd';
      case 3:  return 'rd';
      default: return 'th';
    }
  }
}
 
module.exports = getOrdinalSuffix;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getOwnKey.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getOwnKey.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1   1           1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn;
 
function getOwnKey(obj, key) {
  if (hasOwn(obj, key)) {
    return key;
  }
}
 
module.exports = getOwnKey;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getRegExpFlags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getRegExpFlags.js

Statements: 25% (3 / 12)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 25% (3 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1                       1  
'use strict';
 
function getRegExpFlags(reg, add) {
  var flags = '';
  add = add || '';
  function checkFlag(prop, flag) {
    if (prop || add.indexOf(flag) > -1) {
      flags += flag;
    }
  }
  checkFlag(reg.global, 'g');
  checkFlag(reg.ignoreCase, 'i');
  checkFlag(reg.multiline, 'm');
  checkFlag(reg.sticky, 'y');
  return flags;
}
 
module.exports = getRegExpFlags;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/getSparseArrayIndexes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/getSparseArrayIndexes.js

Statements: 21.43% (3 / 14)      Branches: 0% (0 / 11)      Functions: 0% (0 / 2)      Lines: 21.43% (3 / 14)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1   1                                   1  
'use strict';
 
var isArrayIndex = require('./isArrayIndex');
 
function getSparseArrayIndexes(arr, fromIndex, loop, fromRight) {
  var indexes = [], i;
  for (i in arr) {
    if (isArrayIndex(i) && (loop || (fromRight ? i <= fromIndex : i >= fromIndex))) {
      indexes.push(+i);
    }
  }
  indexes.sort(function(a, b) {
    var aLoop = a > fromIndex;
    var bLoop = b > fromIndex;
    if (aLoop !== bLoop) {
      return aLoop ? -1 : 1;
    }
    return a - b;
  });
  return indexes;
}
 
module.exports = getSparseArrayIndexes;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/handleDeepProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/handleDeepProperty.js

Statements: 7.14% (5 / 70)      Branches: 0% (0 / 72)      Functions: 0% (0 / 3)      Lines: 7.25% (5 / 69)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160    1                   1       1                                                                                                                                                                                   1                                                                                                       1  
'use strict';
 
var PROPERTY_RANGE_REG = require('../var/PROPERTY_RANGE_REG'),
    CommonChars = require('../var/CommonChars'),
    isDefined = require('./isDefined'),
    classChecks = require('../var/classChecks'),
    periodSplit = require('./periodSplit'),
    assertArray = require('./assertArray'),
    isObjectType = require('./isObjectType'),
    assertWritable = require('./assertWritable'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var isString = classChecks.isString,
    hasOwn = coreUtilityAliases.hasOwn,
    HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD;
 
function handleDeepProperty(obj, key, any, has, fill, fillLast, val) {
  var ns, bs, ps, cbi, set, isLast, isPush, isIndex, nextIsIndex, exists;
  ns = obj || undefined;
  if (key == null) return;
 
  if (isObjectType(key)) {
    // Allow array and array-like accessors
    bs = [key];
  } else {
    key = String(key);
    if (key.indexOf('..') !== -1) {
      return handleArrayIndexRange(obj, key, any, val);
    }
    bs = key.split('[');
  }
 
  set = isDefined(val);
 
  for (var i = 0, blen = bs.length; i < blen; i++) {
    ps = bs[i];
 
    if (isString(ps)) {
      ps = periodSplit(ps);
    }
 
    for (var j = 0, plen = ps.length; j < plen; j++) {
      key = ps[j];
 
      // Is this the last key?
      isLast = i === blen - 1 && j === plen - 1;
 
      // Index of the closing ]
      cbi = key.indexOf(']');
 
      // Is the key an array index?
      isIndex = cbi !== -1;
 
      // Is this array push syntax "[]"?
      isPush = set && cbi === 0;
 
      // If the bracket split was successful and this is the last element
      // in the dot split, then we know the next key will be an array index.
      nextIsIndex = blen > 1 && j === plen - 1;
 
      if (isPush) {
        // Set the index to the end of the array
        key = ns.length;
      } else if (isIndex) {
        // Remove the closing ]
        key = key.slice(0, -1);
      }
 
      // If the array index is less than 0, then
      // add its length to allow negative indexes.
      if (isIndex && key < 0) {
        key = +key + ns.length;
      }
 
      // Bracket keys may look like users[5] or just [5], so the leading
      // characters are optional. We can enter the namespace if this is the
      // 2nd part, if there is only 1 part, or if there is an explicit key.
      if (i || key || blen === 1) {
 
        exists = any ? key in ns : hasOwn(ns, key);
 
        // Non-existent namespaces are only filled if they are intermediate
        // (not at the end) or explicitly filling the last.
        if (fill && (!isLast || fillLast) && !exists) {
          // For our purposes, last only needs to be an array.
          ns = ns[key] = nextIsIndex || (fillLast && isLast) ? [] : {};
          continue;
        }
 
        if (has) {
          if (isLast || !exists) {
            return exists;
          }
        } else if (set && isLast) {
          assertWritable(ns);
          ns[key] = val;
        }
 
        ns = exists ? ns[key] : undefined;
      }
 
    }
  }
  return ns;
}
 
function handleArrayIndexRange(obj, key, any, val) {
  var match, start, end, leading, trailing, arr, set;
  match = key.match(PROPERTY_RANGE_REG);
  if (!match) {
    return;
  }
 
  set = isDefined(val);
  leading = match[1];
 
  if (leading) {
    arr = handleDeepProperty(obj, leading, any, false, set ? true : false, true);
  } else {
    arr = obj;
  }
 
  assertArray(arr);
 
  trailing = match[4];
  start    = match[2] ? +match[2] : 0;
  end      = match[3] ? +match[3] : arr.length;
 
  // A range of 0..1 is inclusive, so we need to add 1 to the end. If this
  // pushes the index from -1 to 0, then set it to the full length of the
  // array, otherwise it will return nothing.
  end = end === -1 ? arr.length : end + 1;
 
  if (set) {
    for (var i = start; i < end; i++) {
      handleDeepProperty(arr, i + trailing, any, false, true, false, val);
    }
  } else {
    arr = arr.slice(start, end);
 
    // If there are trailing properties, then they need to be mapped for each
    // element in the array.
    if (trailing) {
      if (trailing.charAt(0) === HALF_WIDTH_PERIOD) {
        // Need to chomp the period if one is trailing after the range. We
        // can't do this at the regex level because it will be required if
        // we're setting the value as it needs to be concatentated together
        // with the array index to be set.
        trailing = trailing.slice(1);
      }
      return arr.map(function(el) {
        return handleDeepProperty(el, trailing);
      });
    }
  }
  return arr;
}
 
module.exports = handleDeepProperty;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/hasOwnEnumeratedProperties.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/hasOwnEnumeratedProperties.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 40% (4 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » hasOwnEnumeratedProperties.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    1   1   1                             1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn;
 
function hasOwnEnumeratedProperties(obj) {
  // Plain objects are generally defined as having enumerated properties
  // all their own, however in early IE environments without defineProperty,
  // there may also be enumerated methods in the prototype chain, so check
  // for both of these cases.
  var objectProto = Object.prototype;
  for (var key in obj) {
    var val = obj[key];
    if (!hasOwn(obj, key) && val !== objectProto[key]) {
      return false;
    }
  }
  return true;
}
 
module.exports = hasOwnEnumeratedProperties;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/hasProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/hasProperty.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var isPrimitive = require('./isPrimitive');
 
function hasProperty(obj, prop) {
  return !isPrimitive(obj) && prop in obj;
}
 
module.exports = hasProperty;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/hasValidPlainObjectPrototype.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/hasValidPlainObjectPrototype.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 5)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » hasValidPlainObjectPrototype.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1   1   1                               1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn;
 
function hasValidPlainObjectPrototype(obj) {
  var hasToString = 'toString' in obj;
  var hasConstructor = 'constructor' in obj;
  // An object created with Object.create(null) has no methods in the
  // prototype chain, so check if any are missing. The additional hasToString
  // check is for false positives on some host objects in old IE which have
  // toString but no constructor. If the object has an inherited constructor,
  // then check if it is Object (the "isPrototypeOf" tapdance here is a more
  // robust way of ensuring this if the global has been hijacked). Note that
  // accessing the constructor directly (without "in" or "hasOwnProperty")
  // will throw a permissions error in IE8 on cross-domain windows.
  return (!hasConstructor && !hasToString) ||
          (hasConstructor && !hasOwn(obj, 'constructor') &&
           hasOwn(obj.constructor.prototype, 'isPrototypeOf'));
}
 
module.exports = hasValidPlainObjectPrototype;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/indexOf.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/indexOf.js

Statements: 33.33% (2 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
function indexOf(arr, el) {
  for (var i = 0, len = arr.length; i < len; i++) {
    if (i in arr && arr[i] === el) return i;
  }
  return -1;
}
 
module.exports = indexOf;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isArrayIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isArrayIndex.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function isArrayIndex(n) {
  return n >>> 0 == n && n != 0xFFFFFFFF;
}
 
module.exports = isArrayIndex;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isClass.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isClass.js

Statements: 100% (7 / 7)      Branches: 50% (1 / 2)      Functions: 100% (1 / 1)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   1   1 81 81   81     1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var classToString = coreUtilityAliases.classToString;
 
function isClass(obj, className, str) {
  Eif (!str) {
    str = classToString(obj);
  }
  return str === '[object '+ className +']';
}
 
module.exports = isClass;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isDefined.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isDefined.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function isDefined(o) {
  return o !== undefined;
}
 
module.exports = isDefined;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isEqual.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isEqual.js

Statements: 13.51% (5 / 37)      Branches: 0% (0 / 41)      Functions: 0% (0 / 3)      Lines: 13.51% (5 / 37)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71    1               1           1                                                   1                                                     1  
'use strict';
 
var getKeys = require('./getKeys'),
    setToArray = require('./setToArray'),
    mapToArray = require('./mapToArray'),
    classChecks = require('../var/classChecks'),
    isObjectType = require('./isObjectType'),
    coreUtilityAliases = require('../var/coreUtilityAliases'),
    iterateWithCyclicCheck = require('./iterateWithCyclicCheck');
 
var classToString = coreUtilityAliases.classToString,
    isSerializable = classChecks.isSerializable,
    isSet = classChecks.isSet,
    isMap = classChecks.isMap,
    isError = classChecks.isError;
 
function isEqual(a, b, stack) {
  var aClass, bClass;
  if (a === b) {
    // Return quickly up front when matched by reference,
    // but be careful about 0 !== -0.
    return a !== 0 || 1 / a === 1 / b;
  }
  aClass = classToString(a);
  bClass = classToString(b);
  if (aClass !== bClass) {
    return false;
  }
 
  if (isSerializable(a, aClass) && isSerializable(b, bClass)) {
    return objectIsEqual(a, b, aClass, stack);
  } else if (isSet(a, aClass) && isSet(b, bClass)) {
    return a.size === b.size && isEqual(setToArray(a), setToArray(b), stack);
  } else if (isMap(a, aClass) && isMap(b, bClass)) {
    return a.size === b.size && isEqual(mapToArray(a), mapToArray(b), stack);
  } else if (isError(a, aClass) && isError(b, bClass)) {
    return a.toString() === b.toString();
  }
 
  return false;
}
 
function objectIsEqual(a, b, aClass, stack) {
  var aType = typeof a, bType = typeof b, propsEqual, count;
  if (aType !== bType) {
    return false;
  }
  if (isObjectType(a.valueOf())) {
    if (a.length !== b.length) {
      // perf: Quickly returning up front for arrays.
      return false;
    }
    count = 0;
    propsEqual = true;
    iterateWithCyclicCheck(a, false, stack, function(key, val, cyc, stack) {
      if (!cyc && (!(key in b) || !isEqual(val, b[key], stack))) {
        propsEqual = false;
      }
      count++;
      return propsEqual;
    });
    if (!propsEqual || count !== getKeys(b).length) {
      return false;
    }
  }
  // Stringifying the value handles NaN, wrapped primitives, dates, and errors in one go.
  return a.valueOf().toString() === b.valueOf().toString();
}
 
module.exports = isEqual;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isObjectType.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isObjectType.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function isObjectType(obj, type) {
  return !!obj && (type || typeof obj) === 'object';
}
 
module.exports = isObjectType;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isPlainObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isPlainObject.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1         1             1  
'use strict';
 
var isClass = require('./isClass'),
    isObjectType = require('./isObjectType'),
    hasOwnEnumeratedProperties = require('./hasOwnEnumeratedProperties'),
    hasValidPlainObjectPrototype = require('./hasValidPlainObjectPrototype');
 
function isPlainObject(obj, className) {
  return isObjectType(obj) &&
         isClass(obj, 'Object', className) &&
         hasValidPlainObjectPrototype(obj) &&
         hasOwnEnumeratedProperties(obj);
}
 
module.exports = isPlainObject;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isPrimitive.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isPrimitive.js

Statements: 50% (2 / 4)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 50% (2 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9    1         1  
'use strict';
 
function isPrimitive(obj, type) {
  type = type || typeof obj;
  return obj == null || type === 'string' || type === 'number' || type === 'boolean';
}
 
module.exports = isPrimitive;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isRealNaN.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isRealNaN.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9    1         1  
'use strict';
 
function isRealNaN(obj) {
  // This is only true of NaN
  return obj != null && obj !== obj;
}
 
module.exports = isRealNaN;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/isUndefined.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/isUndefined.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1 1     1  
'use strict';
 
function isUndefined(o) {
  return o === undefined;
}
 
module.exports = isUndefined;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/iterateOverSparseArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/iterateOverSparseArray.js

Statements: 37.5% (3 / 8)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   1                 1  
'use strict';
 
var getSparseArrayIndexes = require('./getSparseArrayIndexes');
 
function iterateOverSparseArray(arr, fn, fromIndex, loop) {
  var indexes = getSparseArrayIndexes(arr, fromIndex, loop), index;
  for (var i = 0, len = indexes.length; i < len; i++) {
    index = indexes[i];
    fn.call(arr, arr[index], index, arr);
  }
  return arr;
}
 
module.exports = iterateOverSparseArray;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/iterateWithCyclicCheck.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/iterateWithCyclicCheck.js

Statements: 25% (6 / 24)      Branches: 0% (0 / 8)      Functions: 0% (0 / 3)      Lines: 25% (6 / 24)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55    1     1   1   1                                       1                                               1  
'use strict';
 
var getKeys = require('./getKeys'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function iterateWithCyclicCheck(obj, sortedKeys, stack, fn) {
 
  function next(val, key) {
    var cyc = false;
 
    // Allowing a step into the structure before triggering this check to save
    // cycles on standard JSON structures and also to try as hard as possible to
    // catch basic properties that may have been modified.
    if (stack.length > 1) {
      var i = stack.length;
      while (i--) {
        if (stack[i] === val) {
          cyc = true;
        }
      }
    }
 
    stack.push(val);
    fn(key, val, cyc, stack);
    stack.pop();
  }
 
  function iterateWithSortedKeys() {
    // Sorted keys is required for serialization, where object order
    // does not matter but stringified order does.
    var arr = getKeys(obj).sort(), key;
    for (var i = 0; i < arr.length; i++) {
      key = arr[i];
      next(obj[key], arr[i]);
    }
  }
 
  // This method for checking for cyclic structures was egregiously stolen from
  // the ingenious method by @kitcambridge from the Underscore script:
  // https://github.com/documentcloud/underscore/issues/240
  if (!stack) {
    stack = [];
  }
 
  if (sortedKeys) {
    iterateWithSortedKeys();
  } else {
    forEachProperty(obj, next);
  }
}
 
module.exports = iterateWithCyclicCheck;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/map.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/map.js

Statements: 100% (7 / 7)      Branches: 100% (2 / 2)      Functions: 100% (1 / 1)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   186 186 1168 997     186     1  
'use strict';
 
function map(arr, fn) {
  // perf: Not using fixed array len here as it may be sparse.
  var result = [];
  for (var i = 0, len = arr.length; i < len; i++) {
    if (i in arr) {
      result.push(fn(arr[i], i));
    }
  }
  return result;
}
 
module.exports = map;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/mapToArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/mapToArray.js

Statements: 33.33% (2 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function mapToArray(map) {
  var arr = new Array(map.size), i = 0;
  map.forEach(function(val, key) {
    arr[i++] = [key, val];
  });
  return arr;
}
 
module.exports = mapToArray;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/mapWithShortcuts.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/mapWithShortcuts.js

Statements: 28.57% (4 / 14)      Branches: 0% (0 / 10)      Functions: 0% (0 / 2)      Lines: 28.57% (4 / 14)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26    1     1     1                               1  
'use strict';
 
var classChecks = require('../var/classChecks'),
    deepGetProperty = require('./deepGetProperty');
 
var isFunction = classChecks.isFunction,
    isArray = classChecks.isArray;
 
function mapWithShortcuts(el, f, context, mapArgs) {
  if (!f) {
    return el;
  } else if (f.apply) {
    return f.apply(context, mapArgs || []);
  } else if (isArray(f)) {
    return f.map(function(m) {
      return mapWithShortcuts(el, m, context, mapArgs);
    });
  } else if (isFunction(el[f])) {
    return el[f].call(el);
  } else {
    return deepGetProperty(el, f);
  }
}
 
module.exports = mapWithShortcuts;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/memoizeFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/memoizeFunction.js

Statements: 46.15% (6 / 13)      Branches: 0% (0 / 4)      Functions: 50% (1 / 2)      Lines: 46.15% (6 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1     1   1 2   2                         1  
'use strict';
 
var INTERNAL_MEMOIZE_LIMIT = require('../var/INTERNAL_MEMOIZE_LIMIT'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn;
 
function memoizeFunction(fn) {
  var memo = {}, counter = 0;
 
  return function(key) {
    if (hasOwn(memo, key)) {
      return memo[key];
    }
    if (counter === INTERNAL_MEMOIZE_LIMIT) {
      memo = {};
      counter = 0;
    }
    counter++;
    return memo[key] = fn(key);
  };
}
 
module.exports = memoizeFunction;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/padNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/padNumber.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 10)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1     1   1                 1  
'use strict';
 
var mathAliases = require('../var/mathAliases'),
    repeatString = require('./repeatString');
 
var abs = mathAliases.abs;
 
function padNumber(num, place, sign, base, replacement) {
  var str = abs(num).toString(base || 10);
  str = repeatString(replacement || '0', place - str.replace(/\.\d+/, '').length) + str;
  if (sign || num < 0) {
    str = (num < 0 ? '-' : '+') + str;
  }
  return str;
}
 
module.exports = padNumber;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/periodSplit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/periodSplit.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1       1  
'use strict';
 
var CommonChars = require('../var/CommonChars');
 
var HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD;
 
function periodSplit(str) {
  return str.split(HALF_WIDTH_PERIOD);
}
 
module.exports = periodSplit;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/privatePropertyAccessor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/privatePropertyAccessor.js

Statements: 60% (6 / 10)      Branches: 0% (0 / 2)      Functions: 50% (1 / 2)      Lines: 60% (6 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » privatePropertyAccessor.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1     1   1 5 5                 1  
'use strict';
 
var PRIVATE_PROP_PREFIX = require('../var/PRIVATE_PROP_PREFIX'),
    coreUtilityAliases = require('../var/coreUtilityAliases');
 
var setProperty = coreUtilityAliases.setProperty;
 
function privatePropertyAccessor(key) {
  var privateKey = PRIVATE_PROP_PREFIX + key;
  return function(obj, val) {
    if (arguments.length > 1) {
      setProperty(obj, privateKey, val);
      return obj;
    }
    return obj[privateKey];
  };
}
 
module.exports = privatePropertyAccessor;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/regexMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/regexMatcher.js

Statements: 40% (2 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
function regexMatcher(reg) {
  reg = RegExp(reg);
  return function(el) {
    return reg.test(el);
  };
}
 
module.exports = regexMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/repeatString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/repeatString.js

Statements: 20% (2 / 10)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 20% (2 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1                           1  
'use strict';
 
function repeatString(str, num) {
  var result = '';
  str = str.toString();
  while (num > 0) {
    if (num & 1) {
      result += str;
    }
    if (num >>= 1) {
      str += str;
    }
  }
  return result;
}
 
module.exports = repeatString;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/runHumanRules.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/runHumanRules.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var Inflections = require('../var/Inflections');
 
function runHumanRules(str) {
  return Inflections.human && Inflections.human.runRules(str) || str;
}
 
module.exports = runHumanRules;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/serializeInternal.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/serializeInternal.js

Statements: 19.23% (5 / 26)      Branches: 0% (0 / 16)      Functions: 0% (0 / 3)      Lines: 19.23% (5 / 26)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50    1               1     1                                                     1               1  
'use strict';
 
var indexOf = require('./indexOf'),
    isRealNaN = require('./isRealNaN'),
    isPrimitive = require('./isPrimitive'),
    classChecks = require('../var/classChecks'),
    isObjectType = require('./isObjectType'),
    coreUtilityAliases = require('../var/coreUtilityAliases'),
    iterateWithCyclicCheck = require('./iterateWithCyclicCheck');
 
var classToString = coreUtilityAliases.classToString,
    isSerializable = classChecks.isSerializable;
 
function serializeInternal(obj, refs, stack) {
  var type = typeof obj, className, value, ref;
 
  // Return quickly for primitives to save cycles
  if (isPrimitive(obj, type) && !isRealNaN(obj)) {
    return type + obj;
  }
 
  className = classToString(obj);
 
  if (!isSerializable(obj, className)) {
    ref = indexOf(refs, obj);
    if (ref === -1) {
      ref = refs.length;
      refs.push(obj);
    }
    return ref;
  } else if (isObjectType(obj)) {
    value = serializeDeep(obj, refs, stack) + obj.toString();
  } else if (1 / obj === -Infinity) {
    value = '-0';
  } else if (obj.valueOf) {
    value = obj.valueOf();
  }
  return type + className + value;
}
 
function serializeDeep(obj, refs, stack) {
  var result = '';
  iterateWithCyclicCheck(obj, true, stack, function(key, val, cyc, stack) {
    result += cyc ? 'CYC' : key + serializeInternal(val, refs, stack);
  });
  return result;
}
 
module.exports = serializeInternal;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/setChainableConstructor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/setChainableConstructor.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 50% (1 / 2)      Lines: 75% (3 / 4)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/internal/ » setChainableConstructor.js
1 2 3 4 5 6 7 8 9 10    1 2         1  
'use strict';
 
function setChainableConstructor(sugarNamespace, createFn) {
  sugarNamespace.prototype.constructor = function() {
    return createFn.apply(this, arguments);
  };
}
 
module.exports = setChainableConstructor;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/setToArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/setToArray.js

Statements: 33.33% (2 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function setToArray(set) {
  var arr = new Array(set.size), i = 0;
  set.forEach(function(val) {
    arr[i++] = val;
  });
  return arr;
}
 
module.exports = setToArray;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleCapitalize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleCapitalize.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1 12     1  
'use strict';
 
function simpleCapitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}
 
module.exports = simpleCapitalize;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleClone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleClone.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1 6     1  
'use strict';
 
var simpleMerge = require('./simpleMerge');
 
function simpleClone(obj) {
  return simpleMerge({}, obj);
}
 
module.exports = simpleClone;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleMerge.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleMerge.js

Statements: 100% (7 / 7)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1   1   1 10 108   10     1  
'use strict';
 
var coreUtilityAliases = require('../var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function simpleMerge(target, source) {
  forEachProperty(source, function(val, key) {
    target[key] = val;
  });
  return target;
}
 
module.exports = simpleMerge;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleRepeat.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/simpleRepeat.js

Statements: 50% (2 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 50% (2 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
function simpleRepeat(n, fn) {
  for (var i = 0; i < n; i++) {
    fn(i);
  }
}
 
module.exports = simpleRepeat;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/spaceSplit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/spaceSplit.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1 90     1  
'use strict';
 
function spaceSplit(str) {
  return str.split(' ');
}
 
module.exports = spaceSplit;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/stringToNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/stringToNumber.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1       1         1                       1  
'use strict';
 
var CommonChars = require('../var/CommonChars'),
    coreUtilityAliases = require('../var/coreUtilityAliases'),
    fullwidthNumberHelpers = require('../var/fullwidthNumberHelpers');
 
var fullWidthNumberReg = fullwidthNumberHelpers.fullWidthNumberReg,
    fullWidthNumberMap = fullwidthNumberHelpers.fullWidthNumberMap,
    getOwn = coreUtilityAliases.getOwn,
    HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD;
 
function stringToNumber(str, base) {
  var sanitized, isDecimal;
  sanitized = str.replace(fullWidthNumberReg, function(chr) {
    var replacement = getOwn(fullWidthNumberMap, chr);
    if (replacement === HALF_WIDTH_PERIOD) {
      isDecimal = true;
    }
    return replacement;
  });
  return isDecimal ? parseFloat(sanitized) : parseInt(sanitized, base || 10);
}
 
module.exports = stringToNumber;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/trim.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/trim.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function trim(str) {
  return str.trim();
}
 
module.exports = trim;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/withPrecision.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/withPrecision.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1   1       1             1  
'use strict';
 
var mathAliases = require('../var/mathAliases');
 
var abs = mathAliases.abs,
    pow = mathAliases.pow,
    round = mathAliases.round;
 
function withPrecision(val, precision, fn) {
  var multiplier = pow(10, abs(precision || 0));
  fn = fn || round;
  if (precision < 0) multiplier = 1 / multiplier;
  return fn(val * multiplier) / multiplier;
}
 
module.exports = withPrecision;
 
Code coverage report for node-npmtest-sugar/sugar/common/internal/wrapNamespace.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/internal/wrapNamespace.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1 7 15       1  
'use strict';
 
function wrapNamespace(method) {
  return function(sugarNamespace, arg1, arg2) {
    sugarNamespace[method](arg1, arg2);
  };
}
 
module.exports = wrapNamespace;
 
Code coverage report for node-npmtest-sugar/sugar/common/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/

Statements: 89% (89 / 100)      Branches: 48% (12 / 25)      Functions: 62.5% (10 / 16)      Lines: 89.9% (89 / 99)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/
File Statements Branches Functions Lines
CommonChars.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
ENHANCEMENTS_FLAG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
INTERNAL_MEMOIZE_LIMIT.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
Inflections.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
NATIVE_TYPES.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
NO_KEYS_IN_STRING_OBJECTS.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
PRIVATE_PROP_PREFIX.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
PROPERTY_RANGE_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
STRING_FORMAT_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
TRIM_CHARS.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
_utc.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
chr.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
classChecks.js 85.71% (48 / 56) 64.71% (11 / 17) 64.29% (9 / 14) 85.71% (48 / 56)
coreUtilityAliases.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
fullwidthNumberHelpers.js 100% (17 / 17) 100% (0 / 0) 100% (1 / 1) 100% (17 / 17)
mathAliases.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
methodDefineAliases.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
namespaceAliases.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
trunc.js 57.14% (4 / 7) 12.5% (1 / 8) 0% (0 / 1) 66.67% (4 / 6)
Code coverage report for node-npmtest-sugar/sugar/common/var/CommonChars.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/CommonChars.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1                  
'use strict';
 
module.exports = {
  HALF_WIDTH_ZERO: 0x30,
  FULL_WIDTH_ZERO: 0xff10,
  HALF_WIDTH_PERIOD: '.',
  FULL_WIDTH_PERIOD: '.',
  HALF_WIDTH_COMMA: ',',
  OPEN_BRACE: '{',
  CLOSE_BRACE: '}'
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/ENHANCEMENTS_FLAG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/ENHANCEMENTS_FLAG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 'enhance';
 
Code coverage report for node-npmtest-sugar/sugar/common/var/INTERNAL_MEMOIZE_LIMIT.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/INTERNAL_MEMOIZE_LIMIT.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/ » INTERNAL_MEMOIZE_LIMIT.js
1 2 3 4    1  
'use strict';
 
module.exports = 1000;
 
Code coverage report for node-npmtest-sugar/sugar/common/var/Inflections.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/Inflections.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = {};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/NATIVE_TYPES.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/NATIVE_TYPES.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 'Boolean Number String Date RegExp Function Array Error Set Map';
 
Code coverage report for node-npmtest-sugar/sugar/common/var/NO_KEYS_IN_STRING_OBJECTS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/NO_KEYS_IN_STRING_OBJECTS.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/ » NO_KEYS_IN_STRING_OBJECTS.js
1 2 3 4    1  
'use strict';
 
module.exports = !('0' in Object('a'));
 
Code coverage report for node-npmtest-sugar/sugar/common/var/PRIVATE_PROP_PREFIX.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/PRIVATE_PROP_PREFIX.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/ » PRIVATE_PROP_PREFIX.js
1 2 3 4    1  
'use strict';
 
module.exports = '_sugar_';
 
Code coverage report for node-npmtest-sugar/sugar/common/var/PROPERTY_RANGE_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/PROPERTY_RANGE_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /^(.*?)\[([-\d]*)\.\.([-\d]*)\](.*)$/;
 
Code coverage report for node-npmtest-sugar/sugar/common/var/STRING_FORMAT_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/STRING_FORMAT_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /([{}])\1|\{([^}]*)\}|(%)%|(%(\w*))/g;
 
Code coverage report for node-npmtest-sugar/sugar/common/var/TRIM_CHARS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/TRIM_CHARS.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u2028\u2029\u3000\uFEFF';
 
Code coverage report for node-npmtest-sugar/sugar/common/var/_utc.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/_utc.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var privatePropertyAccessor = require('../internal/privatePropertyAccessor');
 
module.exports = privatePropertyAccessor('utc');
 
Code coverage report for node-npmtest-sugar/sugar/common/var/chr.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/chr.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = String.fromCharCode;
 
Code coverage report for node-npmtest-sugar/sugar/common/var/classChecks.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/classChecks.js

Statements: 85.71% (48 / 56)      Branches: 64.71% (11 / 17)      Functions: 64.29% (9 / 14)      Lines: 85.71% (48 / 56)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138    1             1   1         1   1   1   1   1 1 1   1 1                     1     1 1   1 1       1 1 1 1 1 1 1       1 1 1 9       1 16 16     1       1 6     6       1             1 6           1 3 3 967 967       1 1   1                       1   1                          
'use strict';
 
var NATIVE_TYPES = require('./NATIVE_TYPES'),
    forEach = require('../internal/forEach'),
    isClass = require('../internal/isClass'),
    spaceSplit = require('../internal/spaceSplit'),
    isPlainObject = require('../internal/isPlainObject'),
    coreUtilityAliases = require('./coreUtilityAliases');
 
var classToString = coreUtilityAliases.classToString;
 
var isSerializable,
    isBoolean, isNumber, isString,
    isDate, isRegExp, isFunction,
    isArray, isSet, isMap, isError;
 
function buildClassChecks() {
 
  var knownTypes = {};
 
  function addCoreTypes() {
 
    var names = spaceSplit(NATIVE_TYPES);
 
    isBoolean = buildPrimitiveClassCheck(names[0]);
    isNumber  = buildPrimitiveClassCheck(names[1]);
    isString  = buildPrimitiveClassCheck(names[2]);
 
    isDate   = buildClassCheck(names[3]);
    isRegExp = buildClassCheck(names[4]);
 
    // Wanted to enhance performance here by using simply "typeof"
    // but Firefox has two major issues that make this impossible,
    // one fixed, the other not, so perform a full class check here.
    //
    // 1. Regexes can be typeof "function" in FF < 3
    //    https://bugzilla.mozilla.org/show_bug.cgi?id=61911 (fixed)
    //
    // 2. HTMLEmbedElement and HTMLObjectElement are be typeof "function"
    //    https://bugzilla.mozilla.org/show_bug.cgi?id=268945 (won't fix)
    isFunction = buildClassCheck(names[5]);
 
 
    isArray = Array.isArray || buildClassCheck(names[6]);
    isError = buildClassCheck(names[7]);
 
    isSet = buildClassCheck(names[8], typeof Set !== 'undefined' && Set);
    isMap = buildClassCheck(names[9], typeof Map !== 'undefined' && Map);
 
    // Add core types as known so that they can be checked by value below,
    // notably excluding Functions and adding Arguments and Error.
    addKnownType('Arguments');
    addKnownType(names[0]);
    addKnownType(names[1]);
    addKnownType(names[2]);
    addKnownType(names[3]);
    addKnownType(names[4]);
    addKnownType(names[6]);
 
  }
 
  function addArrayTypes() {
    var types = 'Int8 Uint8 Uint8Clamped Int16 Uint16 Int32 Uint32 Float32 Float64';
    forEach(spaceSplit(types), function(str) {
      addKnownType(str + 'Array');
    });
  }
 
  function addKnownType(className) {
    var str = '[object '+ className +']';
    knownTypes[str] = true;
  }
 
  function isKnownType(className) {
    return knownTypes[className];
  }
 
  function buildClassCheck(className, globalObject) {
    Iif (globalObject && isClass(new globalObject, 'Object')) {
      return getConstructorClassCheck(globalObject);
    } else {
      return getToStringClassCheck(className);
    }
  }
 
  function getConstructorClassCheck(obj) {
    var ctorStr = String(obj);
    return function(obj) {
      return String(obj.constructor) === ctorStr;
    };
  }
 
  function getToStringClassCheck(className) {
    return function(obj, str) {
      // perf: Returning up front on instanceof appears to be slower.
      return isClass(obj, className, str);
    };
  }
 
  function buildPrimitiveClassCheck(className) {
    var type = className.toLowerCase();
    return function(obj) {
      var t = typeof obj;
      return t === type || t === 'object' && isClass(obj, className);
    };
  }
 
  addCoreTypes();
  addArrayTypes();
 
  isSerializable = function(obj, className) {
    // Only known objects can be serialized. This notably excludes functions,
    // host objects, Symbols (which are matched by reference), and instances
    // of classes. The latter can arguably be matched by value, but
    // distinguishing between these and host objects -- which should never be
    // compared by value -- is very tricky so not dealing with it here.
    className = className || classToString(obj);
    return isKnownType(className) || isPlainObject(obj, className);
  };
 
}
 
buildClassChecks();
 
module.exports = {
  isSerializable: isSerializable,
  isBoolean: isBoolean,
  isNumber: isNumber,
  isString: isString,
  isDate: isDate,
  isRegExp: isRegExp,
  isFunction: isFunction,
  isArray: isArray,
  isSet: isSet,
  isMap: isMap,
  isError: isError
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/coreUtilityAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/coreUtilityAliases.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1                  
'use strict';
 
var Sugar = require('sugar-core');
 
module.exports = {
  hasOwn: Sugar.util.hasOwn,
  getOwn: Sugar.util.getOwn,
  setProperty: Sugar.util.setProperty,
  classToString: Sugar.util.classToString,
  defineProperty: Sugar.util.defineProperty,
  forEachProperty: Sugar.util.forEachProperty,
  mapNativeToChainable: Sugar.util.mapNativeToChainable
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/fullwidthNumberHelpers.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/fullwidthNumberHelpers.js

Statements: 100% (17 / 17)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (17 / 17)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/ » fullwidthNumberHelpers.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39    1       1           1   1 1 1 1 10 10 10   1 1     1 1 1     1   1          
'use strict';
 
var CommonChars = require('./CommonChars'),
    chr = require('./chr'),
    allCharsReg = require('../internal/allCharsReg');
 
var HALF_WIDTH_ZERO = CommonChars.HALF_WIDTH_ZERO,
    FULL_WIDTH_ZERO = CommonChars.FULL_WIDTH_ZERO,
    HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD,
    FULL_WIDTH_PERIOD = CommonChars.FULL_WIDTH_PERIOD,
    HALF_WIDTH_COMMA = CommonChars.HALF_WIDTH_COMMA;
 
var fullWidthNumberReg, fullWidthNumberMap, fullWidthNumbers;
 
function buildFullWidthNumber() {
  var fwp = FULL_WIDTH_PERIOD, hwp = HALF_WIDTH_PERIOD, hwc = HALF_WIDTH_COMMA, fwn = '';
  fullWidthNumberMap = {};
  for (var i = 0, digit; i <= 9; i++) {
    digit = chr(i + FULL_WIDTH_ZERO);
    fwn += digit;
    fullWidthNumberMap[digit] = chr(i + HALF_WIDTH_ZERO);
  }
  fullWidthNumberMap[hwc] = '';
  fullWidthNumberMap[fwp] = hwp;
  // Mapping this to itself to capture it easily
  // in stringToNumber to detect decimals later.
  fullWidthNumberMap[hwp] = hwp;
  fullWidthNumberReg = allCharsReg(fwn + fwp + hwc + hwp);
  fullWidthNumbers = fwn;
}
 
buildFullWidthNumber();
 
module.exports = {
  fullWidthNumberReg: fullWidthNumberReg,
  fullWidthNumberMap: fullWidthNumberMap,
  fullWidthNumbers: fullWidthNumbers
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/mathAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/mathAliases.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1                  
'use strict';
 
module.exports = {
  abs: Math.abs,
  pow: Math.pow,
  min: Math.min,
  max: Math.max,
  ceil: Math.ceil,
  floor: Math.floor,
  round: Math.round
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/methodDefineAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/methodDefineAliases.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/common/var/ » methodDefineAliases.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1                  
'use strict';
 
var wrapNamespace = require('../internal/wrapNamespace');
 
module.exports = {
  alias: wrapNamespace('alias'),
  defineStatic: wrapNamespace('defineStatic'),
  defineInstance: wrapNamespace('defineInstance'),
  defineStaticPolyfill: wrapNamespace('defineStaticPolyfill'),
  defineInstancePolyfill: wrapNamespace('defineInstancePolyfill'),
  defineInstanceAndStatic: wrapNamespace('defineInstanceAndStatic'),
  defineInstanceWithArguments: wrapNamespace('defineInstanceWithArguments')
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/namespaceAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/namespaceAliases.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1                  
'use strict';
 
var Sugar = require('sugar-core');
 
module.exports = {
  sugarObject: Sugar.Object,
  sugarArray: Sugar.Array,
  sugarDate: Sugar.Date,
  sugarString: Sugar.String,
  sugarNumber: Sugar.Number,
  sugarFunction: Sugar.Function,
  sugarRegExp: Sugar.RegExp
};
 
Code coverage report for node-npmtest-sugar/sugar/common/var/trunc.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/common/var/trunc.js

Statements: 57.14% (4 / 7)      Branches: 12.5% (1 / 8)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1     1         1  
'use strict';
 
var mathAliases = require('./mathAliases');
 
var ceil = mathAliases.ceil,
    floor = mathAliases.floor;
 
var trunc = Math.trunc || function(n) {
  if (n === 0 || !isFinite(n)) return n;
  return n < 0 ? ceil(n) : floor(n);
};
 
module.exports = trunc;
 
Code coverage report for node-npmtest-sugar/sugar/date/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/

Statements: 90.92% (521 / 573)      Branches: 0% (0 / 19)      Functions: 0% (0 / 34)      Lines: 90.92% (521 / 573)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/
File Statements Branches Functions Lines
addDays.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addHours.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addLocale.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
addMilliseconds.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addMinutes.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addMonths.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addSeconds.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addWeeks.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
addYears.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
advance.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
beginningOfDay.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
beginningOfISOWeek.js 30% (3 / 10) 0% (0 / 4) 0% (0 / 1) 30% (3 / 10)
beginningOfMonth.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
beginningOfWeek.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
beginningOfYear.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
clone.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
create.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
daysAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysInMonth.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
daysSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
endOfDay.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
endOfISOWeek.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
endOfMonth.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
endOfWeek.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
endOfYear.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
format.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
get.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getAllLocaleCodes.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getAllLocales.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getISOWeek.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getLocale.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getOption.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
getUTCOffset.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getUTCWeekday.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getWeekday.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
hoursAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
index.js 100% (189 / 189) 100% (0 / 0) 100% (0 / 0) 100% (189 / 189)
is.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isAfter.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
isBefore.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
isBetween.js 36.36% (4 / 11) 0% (0 / 4) 0% (0 / 1) 36.36% (4 / 11)
isFriday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isFuture.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isLastMonth.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isLastWeek.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isLastYear.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isLeapYear.js 60% (3 / 5) 0% (0 / 3) 0% (0 / 1) 60% (3 / 5)
isMonday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isNextMonth.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isNextWeek.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isNextYear.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isPast.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isSaturday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isSunday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isThisMonth.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isThisWeek.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isThisYear.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isThursday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isToday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isTomorrow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isTuesday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isUTC.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isValid.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isWednesday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isWeekday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isWeekend.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isYesterday.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
iso.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
millisecondsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
range.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
relative.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
relativeTo.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
removeLocale.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
reset.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
rewind.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
secondsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
set.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
setISOWeek.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
setLocale.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
setOption.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
setUTC.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
setWeekday.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
weeksAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsSince.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsUntil.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
Code coverage report for node-npmtest-sugar/sugar/date/addDays.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addDays.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addDays;
 
Code coverage report for node-npmtest-sugar/sugar/date/addHours.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addHours.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addHours;
 
Code coverage report for node-npmtest-sugar/sugar/date/addLocale.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addLocale.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'addLocale': function(code, set) {
    return localeManager.add(code, set);
  }
 
});
 
module.exports = Sugar.Date.addLocale;
 
Code coverage report for node-npmtest-sugar/sugar/date/addMilliseconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addMilliseconds.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » addMilliseconds.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addMilliseconds;
 
Code coverage report for node-npmtest-sugar/sugar/date/addMinutes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addMinutes.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addMinutes;
 
Code coverage report for node-npmtest-sugar/sugar/date/addMonths.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addMonths.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addMonths;
 
Code coverage report for node-npmtest-sugar/sugar/date/addSeconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addSeconds.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addSeconds;
 
Code coverage report for node-npmtest-sugar/sugar/date/addWeeks.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addWeeks.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addWeeks;
 
Code coverage report for node-npmtest-sugar/sugar/date/addYears.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/addYears.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.addYears;
 
Code coverage report for node-npmtest-sugar/sugar/date/advance.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/advance.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    advanceDateWithArgs = require('./internal/advanceDateWithArgs');
 
Sugar.Date.defineInstanceWithArguments({
 
  'advance': function(d, args) {
    return advanceDateWithArgs(d, args, 1);
  }
 
});
 
module.exports = Sugar.Date.advance;
 
Code coverage report for node-npmtest-sugar/sugar/date/beginningOfDay.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/beginningOfDay.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.beginningOfDay;
 
Code coverage report for node-npmtest-sugar/sugar/date/beginningOfISOWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/beginningOfISOWeek.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 30% (3 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » beginningOfISOWeek.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1         1                             1  
'use strict';
 
var Sugar = require('sugar-core'),
    resetTime = require('./internal/resetTime'),
    getWeekday = require('./internal/getWeekday'),
    setWeekday = require('./internal/setWeekday');
 
Sugar.Date.defineInstance({
 
  'beginningOfISOWeek': function(date) {
    var day = getWeekday(date);
    if (day === 0) {
      day = -6;
    } else if (day !== 1) {
      day = 1;
    }
    setWeekday(date, day);
    return resetTime(date);
  }
 
});
 
module.exports = Sugar.Date.beginningOfISOWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/beginningOfMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/beginningOfMonth.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » beginningOfMonth.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.beginningOfMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/beginningOfWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/beginningOfWeek.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » beginningOfWeek.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.beginningOfWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/beginningOfYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/beginningOfYear.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » beginningOfYear.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.beginningOfYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/clone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/clone.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    cloneDate = require('./internal/cloneDate');
 
Sugar.Date.defineInstance({
 
  'clone': function(date) {
    return cloneDate(date);
  }
 
});
 
module.exports = Sugar.Date.clone;
 
Code coverage report for node-npmtest-sugar/sugar/date/create.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/create.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDate = require('./internal/createDate');
 
require('./build/setDateChainableConstructorCall');
 
Sugar.Date.defineStatic({
 
  'create': function(d, options) {
    return createDate(d, options);
  }
 
});
 
module.exports = Sugar.Date.create;
 
Code coverage report for node-npmtest-sugar/sugar/date/daysAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/daysAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.daysAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/daysFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/daysFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.daysFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/daysInMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/daysInMonth.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getDaysInMonth = require('./internal/getDaysInMonth');
 
Sugar.Date.defineInstance({
 
  'daysInMonth': function(date) {
    return getDaysInMonth(date);
  }
 
});
 
module.exports = Sugar.Date.daysInMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/daysSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/daysSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.daysSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/daysUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/daysUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.daysUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/endOfDay.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/endOfDay.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.endOfDay;
 
Code coverage report for node-npmtest-sugar/sugar/date/endOfISOWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/endOfISOWeek.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    1           1   1                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    DateUnitIndexes = require('./var/DateUnitIndexes'),
    getWeekday = require('./internal/getWeekday'),
    setWeekday = require('./internal/setWeekday'),
    moveToEndOfUnit = require('./internal/moveToEndOfUnit');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX;
 
Sugar.Date.defineInstance({
 
  'endOfISOWeek': function(date) {
    if (getWeekday(date) !== 0) {
      setWeekday(date, 7);
    }
    return moveToEndOfUnit(date, DAY_INDEX);
  }
 
});
 
module.exports = Sugar.Date.endOfISOWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/endOfMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/endOfMonth.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.endOfMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/endOfWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/endOfWeek.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.endOfWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/endOfYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/endOfYear.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.endOfYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/format.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/format.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    dateFormat = require('./internal/dateFormat');
 
Sugar.Date.defineInstance({
 
  'format': function(date, f, localeCode) {
    return dateFormat(date, f, localeCode);
  }
 
});
 
module.exports = Sugar.Date.format;
 
Code coverage report for node-npmtest-sugar/sugar/date/get.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/get.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDateWithContext = require('./internal/createDateWithContext');
 
Sugar.Date.defineInstance({
 
  'get': function(date, d, options) {
    return createDateWithContext(date, d, options);
  }
 
});
 
module.exports = Sugar.Date.get;
 
Code coverage report for node-npmtest-sugar/sugar/date/getAllLocaleCodes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getAllLocaleCodes.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » getAllLocaleCodes.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1       1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers'),
    getKeys = require('../common/internal/getKeys');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'getAllLocaleCodes': function() {
    return getKeys(localeManager.getAll());
  }
 
});
 
module.exports = Sugar.Date.getAllLocaleCodes;
 
Code coverage report for node-npmtest-sugar/sugar/date/getAllLocales.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getAllLocales.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'getAllLocales': function() {
    return localeManager.getAll();
  }
 
});
 
module.exports = Sugar.Date.getAllLocales;
 
Code coverage report for node-npmtest-sugar/sugar/date/getISOWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getISOWeek.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getWeekNumber = require('./internal/getWeekNumber');
 
Sugar.Date.defineInstance({
 
  'getISOWeek': function(date) {
    return getWeekNumber(date, true);
  }
 
});
 
module.exports = Sugar.Date.getISOWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/getLocale.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getLocale.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'getLocale': function(code) {
    return localeManager.get(code, !code);
  }
 
});
 
module.exports = Sugar.Date.getLocale;
 
Code coverage report for node-npmtest-sugar/sugar/date/getOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getOption.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7    1     1  
'use strict';
 
var Sugar = require('sugar-core'),
    _dateOptions = require('./var/_dateOptions');
 
module.exports = Sugar.Date.getOption;
 
Code coverage report for node-npmtest-sugar/sugar/date/getUTCOffset.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getUTCOffset.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getUTCOffset = require('./internal/getUTCOffset');
 
Sugar.Date.defineInstance({
 
  'getUTCOffset': function(date, iso) {
    return getUTCOffset(date, iso);
  }
 
});
 
module.exports = Sugar.Date.getUTCOffset;
 
Code coverage report for node-npmtest-sugar/sugar/date/getUTCWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getUTCWeekday.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Date.defineInstance({
 
  'getUTCWeekday': function(date) {
    return date.getUTCDay();
  }
 
});
 
module.exports = Sugar.Date.getUTCWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/getWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/getWeekday.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getWeekday = require('./internal/getWeekday');
 
Sugar.Date.defineInstance({
 
  'getWeekday': function(date) {
    return getWeekday(date);
  }
 
});
 
module.exports = Sugar.Date.getWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/hoursAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/hoursAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.hoursAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/hoursFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/hoursFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.hoursFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/hoursSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/hoursSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.hoursSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/hoursUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/hoursUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.hoursUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/index.js

Statements: 100% (189 / 189)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (189 / 189)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198      1 1 1 1 1 1 1     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1 1   1  
'use strict';
 
// Static Methods
require('./addLocale');
require('./create');
require('./getAllLocaleCodes');
require('./getAllLocales');
require('./getLocale');
require('./removeLocale');
require('./setLocale');
 
// Instance Methods
require('../number/day');
require('../number/dayAfter');
require('../number/dayAgo');
require('../number/dayBefore');
require('../number/dayFromNow');
require('../number/days');
require('../number/daysAfter');
require('../number/daysAgo');
require('../number/daysBefore');
require('../number/daysFromNow');
require('../number/duration');
require('../number/hour');
require('../number/hourAfter');
require('../number/hourAgo');
require('../number/hourBefore');
require('../number/hourFromNow');
require('../number/hours');
require('../number/hoursAfter');
require('../number/hoursAgo');
require('../number/hoursBefore');
require('../number/hoursFromNow');
require('../number/millisecond');
require('../number/millisecondAfter');
require('../number/millisecondAgo');
require('../number/millisecondBefore');
require('../number/millisecondFromNow');
require('../number/milliseconds');
require('../number/millisecondsAfter');
require('../number/millisecondsAgo');
require('../number/millisecondsBefore');
require('../number/millisecondsFromNow');
require('../number/minute');
require('../number/minuteAfter');
require('../number/minuteAgo');
require('../number/minuteBefore');
require('../number/minuteFromNow');
require('../number/minutes');
require('../number/minutesAfter');
require('../number/minutesAgo');
require('../number/minutesBefore');
require('../number/minutesFromNow');
require('../number/month');
require('../number/monthAfter');
require('../number/monthAgo');
require('../number/monthBefore');
require('../number/monthFromNow');
require('../number/months');
require('../number/monthsAfter');
require('../number/monthsAgo');
require('../number/monthsBefore');
require('../number/monthsFromNow');
require('../number/second');
require('../number/secondAfter');
require('../number/secondAgo');
require('../number/secondBefore');
require('../number/secondFromNow');
require('../number/seconds');
require('../number/secondsAfter');
require('../number/secondsAgo');
require('../number/secondsBefore');
require('../number/secondsFromNow');
require('../number/week');
require('../number/weekAfter');
require('../number/weekAgo');
require('../number/weekBefore');
require('../number/weekFromNow');
require('../number/weeks');
require('../number/weeksAfter');
require('../number/weeksAgo');
require('../number/weeksBefore');
require('../number/weeksFromNow');
require('../number/year');
require('../number/yearAfter');
require('../number/yearAgo');
require('../number/yearBefore');
require('../number/yearFromNow');
require('../number/years');
require('../number/yearsAfter');
require('../number/yearsAgo');
require('../number/yearsBefore');
require('../number/yearsFromNow');
require('./addDays');
require('./addHours');
require('./addMilliseconds');
require('./addMinutes');
require('./addMonths');
require('./addSeconds');
require('./addWeeks');
require('./addYears');
require('./advance');
require('./beginningOfDay');
require('./beginningOfISOWeek');
require('./beginningOfMonth');
require('./beginningOfWeek');
require('./beginningOfYear');
require('./clone');
require('./daysAgo');
require('./daysFromNow');
require('./daysInMonth');
require('./daysSince');
require('./daysUntil');
require('./endOfDay');
require('./endOfISOWeek');
require('./endOfMonth');
require('./endOfWeek');
require('./endOfYear');
require('./format');
require('./get');
require('./getISOWeek');
require('./getUTCOffset');
require('./getUTCWeekday');
require('./getWeekday');
require('./hoursAgo');
require('./hoursFromNow');
require('./hoursSince');
require('./hoursUntil');
require('./is');
require('./isAfter');
require('./isBefore');
require('./isBetween');
require('./isFriday');
require('./isFuture');
require('./isLastMonth');
require('./isLastWeek');
require('./isLastYear');
require('./isLeapYear');
require('./isMonday');
require('./isNextMonth');
require('./isNextWeek');
require('./isNextYear');
require('./isPast');
require('./isSaturday');
require('./isSunday');
require('./isThisMonth');
require('./isThisWeek');
require('./isThisYear');
require('./isThursday');
require('./isToday');
require('./isTomorrow');
require('./isTuesday');
require('./isUTC');
require('./isValid');
require('./isWednesday');
require('./isWeekday');
require('./isWeekend');
require('./isYesterday');
require('./iso');
require('./millisecondsAgo');
require('./millisecondsFromNow');
require('./millisecondsSince');
require('./millisecondsUntil');
require('./minutesAgo');
require('./minutesFromNow');
require('./minutesSince');
require('./minutesUntil');
require('./monthsAgo');
require('./monthsFromNow');
require('./monthsSince');
require('./monthsUntil');
require('./relative');
require('./relativeTo');
require('./reset');
require('./rewind');
require('./secondsAgo');
require('./secondsFromNow');
require('./secondsSince');
require('./secondsUntil');
require('./set');
require('./setISOWeek');
require('./setUTC');
require('./setWeekday');
require('./weeksAgo');
require('./weeksFromNow');
require('./weeksSince');
require('./weeksUntil');
require('./yearsAgo');
require('./yearsFromNow');
require('./yearsSince');
require('./yearsUntil');
 
// Accessors
require('./getOption');
require('./setOption');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/date/is.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/is.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    fullCompareDate = require('./internal/fullCompareDate');
 
Sugar.Date.defineInstance({
 
  'is': function(date, d, margin) {
    return fullCompareDate(date, d, margin);
  }
 
});
 
module.exports = Sugar.Date.is;
 
Code coverage report for node-npmtest-sugar/sugar/date/isAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isAfter.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDate = require('./internal/createDate');
 
Sugar.Date.defineInstance({
 
  'isAfter': function(date, d, margin) {
    return date.getTime() > createDate(d).getTime() - (margin || 0);
  }
 
});
 
module.exports = Sugar.Date.isAfter;
 
Code coverage report for node-npmtest-sugar/sugar/date/isBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isBefore.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDate = require('./internal/createDate');
 
Sugar.Date.defineInstance({
 
  'isBefore': function(date, d, margin) {
    return date.getTime() < createDate(d).getTime() + (margin || 0);
  }
 
});
 
module.exports = Sugar.Date.isBefore;
 
Code coverage report for node-npmtest-sugar/sugar/date/isBetween.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isBetween.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1       1     1                           1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDate = require('./internal/createDate'),
    mathAliases = require('../common/var/mathAliases');
 
var min = mathAliases.min,
    max = mathAliases.max;
 
Sugar.Date.defineInstance({
 
  'isBetween': function(date, d1, d2, margin) {
    var t  = date.getTime();
    var t1 = createDate(d1).getTime();
    var t2 = createDate(d2).getTime();
    var lo = min(t1, t2);
    var hi = max(t1, t2);
    margin = margin || 0;
    return (lo - margin <= t) && (hi + margin >= t);
  }
 
});
 
module.exports = Sugar.Date.isBetween;
 
Code coverage report for node-npmtest-sugar/sugar/date/isFriday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isFriday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isFriday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isFuture.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isFuture.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isFuture;
 
Code coverage report for node-npmtest-sugar/sugar/date/isLastMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isLastMonth.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isLastMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/isLastWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isLastWeek.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isLastWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/isLastYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isLastYear.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isLastYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/isLeapYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isLeapYear.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    getYear = require('./internal/getYear');
 
Sugar.Date.defineInstance({
 
  'isLeapYear': function(date) {
    var year = getYear(date);
    return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
  }
 
});
 
module.exports = Sugar.Date.isLeapYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/isMonday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isMonday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isMonday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isNextMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isNextMonth.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isNextMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/isNextWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isNextWeek.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isNextWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/isNextYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isNextYear.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isNextYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/isPast.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isPast.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isPast;
 
Code coverage report for node-npmtest-sugar/sugar/date/isSaturday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isSaturday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isSaturday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isSunday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isSunday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isSunday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isThisMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isThisMonth.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isThisMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/isThisWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isThisWeek.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isThisWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/isThisYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isThisYear.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.isThisYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/isThursday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isThursday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isThursday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isToday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isToday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isToday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isTomorrow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isTomorrow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isTomorrow;
 
Code coverage report for node-npmtest-sugar/sugar/date/isTuesday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isTuesday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isTuesday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isUTC.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isUTC.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUTC = require('./internal/isUTC');
 
Sugar.Date.defineInstance({
 
  'isUTC': function(date) {
    return isUTC(date);
  }
 
});
 
module.exports = Sugar.Date.isUTC;
 
Code coverage report for node-npmtest-sugar/sugar/date/isValid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isValid.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    dateIsValid = require('./internal/dateIsValid');
 
Sugar.Date.defineInstance({
 
  'isValid': function(date) {
    return dateIsValid(date);
  }
 
});
 
module.exports = Sugar.Date.isValid;
 
Code coverage report for node-npmtest-sugar/sugar/date/isWednesday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isWednesday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isWednesday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isWeekday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/isWeekend.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isWeekend.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isWeekend;
 
Code coverage report for node-npmtest-sugar/sugar/date/isYesterday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/isYesterday.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildRelativeAliasesCall');
 
module.exports = Sugar.Date.isYesterday;
 
Code coverage report for node-npmtest-sugar/sugar/date/iso.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/iso.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Date.defineInstance({
 
  'iso': function(date) {
    return date.toISOString();
  }
 
});
 
module.exports = Sugar.Date.iso;
 
Code coverage report for node-npmtest-sugar/sugar/date/millisecondsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/millisecondsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » millisecondsAgo.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.millisecondsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/millisecondsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/millisecondsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » millisecondsFromNow.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.millisecondsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/millisecondsSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/millisecondsSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » millisecondsSince.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.millisecondsSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/millisecondsUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/millisecondsUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/ » millisecondsUntil.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.millisecondsUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/minutesAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/minutesAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.minutesAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/minutesFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/minutesFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.minutesFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/minutesSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/minutesSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.minutesSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/minutesUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/minutesUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.minutesUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/monthsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/monthsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.monthsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/monthsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/monthsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.monthsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/monthsSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/monthsSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.monthsSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/monthsUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/monthsUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.monthsUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/range.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/range.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    DateRangeConstructor = require('../range/var/DateRangeConstructor');
 
Sugar.Date.defineStatic({
 
  'range': DateRangeConstructor
 
});
 
module.exports = Sugar.Date.range;
 
Code coverage report for node-npmtest-sugar/sugar/date/relative.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/relative.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    dateRelative = require('./internal/dateRelative');
 
Sugar.Date.defineInstance({
 
  'relative': function(date, localeCode, fn) {
    return dateRelative(date, null, localeCode, fn);
  }
 
});
 
module.exports = Sugar.Date.relative;
 
Code coverage report for node-npmtest-sugar/sugar/date/relativeTo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/relativeTo.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createDate = require('./internal/createDate'),
    dateRelative = require('./internal/dateRelative');
 
Sugar.Date.defineInstance({
 
  'relativeTo': function(date, d, localeCode) {
    return dateRelative(date, createDate(d), localeCode);
  }
 
});
 
module.exports = Sugar.Date.relativeTo;
 
Code coverage report for node-npmtest-sugar/sugar/date/removeLocale.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/removeLocale.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'removeLocale': function(code) {
    return localeManager.remove(code);
  }
 
});
 
module.exports = Sugar.Date.removeLocale;
 
Code coverage report for node-npmtest-sugar/sugar/date/reset.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/reset.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1         1   1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    DateUnitIndexes = require('./var/DateUnitIndexes'),
    moveToBeginningOfUnit = require('./internal/moveToBeginningOfUnit'),
    getUnitIndexForParamName = require('./internal/getUnitIndexForParamName');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX;
 
Sugar.Date.defineInstance({
 
  'reset': function(date, unit, localeCode) {
    var unitIndex = unit ? getUnitIndexForParamName(unit) : DAY_INDEX;
    moveToBeginningOfUnit(date, unitIndex, localeCode);
    return date;
  }
 
});
 
module.exports = Sugar.Date.reset;
 
Code coverage report for node-npmtest-sugar/sugar/date/rewind.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/rewind.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    advanceDateWithArgs = require('./internal/advanceDateWithArgs');
 
Sugar.Date.defineInstanceWithArguments({
 
  'rewind': function(d, args) {
    return advanceDateWithArgs(d, args, -1);
  }
 
});
 
module.exports = Sugar.Date.rewind;
 
Code coverage report for node-npmtest-sugar/sugar/date/secondsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/secondsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.secondsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/secondsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/secondsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.secondsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/secondsSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/secondsSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.secondsSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/secondsUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/secondsUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.secondsUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/set.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/set.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    updateDate = require('./internal/updateDate'),
    collectDateArguments = require('./internal/collectDateArguments');
 
Sugar.Date.defineInstanceWithArguments({
 
  'set': function(d, args) {
    args = collectDateArguments(args);
    return updateDate(d, args[0], args[1]);
  }
 
});
 
module.exports = Sugar.Date.set;
 
Code coverage report for node-npmtest-sugar/sugar/date/setISOWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/setISOWeek.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    setISOWeekNumber = require('./internal/setISOWeekNumber');
 
Sugar.Date.defineInstance({
 
  'setISOWeek': function(date, num) {
    return setISOWeekNumber(date, num);
  }
 
});
 
module.exports = Sugar.Date.setISOWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/setLocale.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/setLocale.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('./var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Date.defineStatic({
 
  'setLocale': function(code) {
    return localeManager.set(code);
  }
 
});
 
module.exports = Sugar.Date.setLocale;
 
Code coverage report for node-npmtest-sugar/sugar/date/setOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/setOption.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7    1     1  
'use strict';
 
var Sugar = require('sugar-core'),
    _dateOptions = require('./var/_dateOptions');
 
module.exports = Sugar.Date.setOption;
 
Code coverage report for node-npmtest-sugar/sugar/date/setUTC.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/setUTC.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    _utc = require('../common/var/_utc');
 
Sugar.Date.defineInstance({
 
  'setUTC': function(date, on) {
    return _utc(date, on);
  }
 
});
 
module.exports = Sugar.Date.setUTC;
 
Code coverage report for node-npmtest-sugar/sugar/date/setWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/setWeekday.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    setWeekday = require('./internal/setWeekday');
 
Sugar.Date.defineInstance({
 
  'setWeekday': function(date, dow) {
    return setWeekday(date, dow);
  }
 
});
 
module.exports = Sugar.Date.setWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/weeksAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/weeksAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.weeksAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/weeksFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/weeksFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.weeksFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/weeksSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/weeksSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.weeksSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/weeksUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/weeksUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.weeksUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/yearsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/yearsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.yearsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/date/yearsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/yearsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.yearsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/date/yearsSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/yearsSince.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.yearsSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/yearsUntil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/yearsUntil.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildDateUnitMethodsCall');
 
module.exports = Sugar.Date.yearsUntil;
 
Code coverage report for node-npmtest-sugar/sugar/date/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/build/

Statements: 100% (8 / 8)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (8 / 8)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/build/
File Statements Branches Functions Lines
buildDateUnitMethodsCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
buildNumberUnitMethodsCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
buildRelativeAliasesCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
setDateChainableConstructorCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/date/build/buildDateUnitMethodsCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/build/buildDateUnitMethodsCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/build/ » buildDateUnitMethodsCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildDateUnitMethods = require('../internal/buildDateUnitMethods');
 
buildDateUnitMethods();
 
Code coverage report for node-npmtest-sugar/sugar/date/build/buildNumberUnitMethodsCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/build/buildNumberUnitMethodsCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/build/ » buildNumberUnitMethodsCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildNumberUnitMethods = require('../internal/buildNumberUnitMethods');
 
buildNumberUnitMethods();
 
Code coverage report for node-npmtest-sugar/sugar/date/build/buildRelativeAliasesCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/build/buildRelativeAliasesCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/build/ » buildRelativeAliasesCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildRelativeAliases = require('../internal/buildRelativeAliases');
 
buildRelativeAliases();
 
Code coverage report for node-npmtest-sugar/sugar/date/build/setDateChainableConstructorCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/build/setDateChainableConstructorCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/build/ » setDateChainableConstructorCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var setDateChainableConstructor = require('../internal/setDateChainableConstructor');
 
setDateChainableConstructor();
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/

Statements: 45.4% (508 / 1119)      Branches: 16.58% (95 / 573)      Functions: 30.22% (55 / 182)      Lines: 45.6% (508 / 1114)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/
File Statements Branches Functions Lines
advanceDate.js 50% (3 / 6) 100% (0 / 0) 0% (0 / 1) 50% (3 / 6)
advanceDateWithArgs.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
arrayToRegAlternates.js 77.78% (7 / 9) 66.67% (4 / 6) 100% (1 / 1) 77.78% (7 / 9)
assertDateIsValid.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
buildDateUnitMethods.js 73.91% (17 / 23) 100% (4 / 4) 33.33% (3 / 9) 73.91% (17 / 23)
buildNumberUnitMethods.js 86.36% (19 / 22) 100% (0 / 0) 40% (2 / 5) 86.36% (19 / 22)
buildRelativeAliases.js 90.91% (10 / 11) 100% (0 / 0) 66.67% (2 / 3) 90.91% (10 / 11)
callDateSetWithWeek.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 1) 50% (3 / 6)
cloneDate.js 50% (3 / 6) 100% (0 / 0) 0% (0 / 1) 50% (3 / 6)
collectDateArguments.js 30.77% (4 / 13) 0% (0 / 10) 0% (0 / 1) 30.77% (4 / 13)
collectDateParamsFromArguments.js 40% (4 / 10) 0% (0 / 2) 0% (0 / 2) 40% (4 / 10)
compareDate.js 15% (6 / 40) 0% (0 / 35) 0% (0 / 3) 15.38% (6 / 39)
compareDay.js 42.86% (3 / 7) 0% (0 / 5) 0% (0 / 1) 42.86% (3 / 7)
createDate.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
createDateWithContext.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
dateFormat.js 57.14% (4 / 7) 0% (0 / 3) 0% (0 / 1) 57.14% (4 / 7)
dateIsValid.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
dateRelative.js 16.67% (4 / 24) 0% (0 / 12) 0% (0 / 1) 16.67% (4 / 24)
defaultNewDate.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
deleteDateParam.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
fullCompareDate.js 20% (4 / 20) 0% (0 / 17) 0% (0 / 1) 21.05% (4 / 19)
getAdjustedUnit.js 36.36% (4 / 11) 0% (0 / 2) 0% (0 / 2) 36.36% (4 / 11)
getAdjustedUnitForDate.js 33.33% (4 / 12) 0% (0 / 4) 0% (0 / 2) 33.33% (4 / 12)
getAdjustedUnitForNumber.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 2) 60% (3 / 5)
getArrayWithOffset.js 33.33% (2 / 6) 0% (0 / 4) 0% (0 / 1) 33.33% (2 / 6)
getDate.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getDateParam.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getDateParamKey.js 75% (3 / 4) 0% (0 / 4) 0% (0 / 1) 75% (3 / 4)
getDateParamsFromString.js 25% (3 / 12) 0% (0 / 6) 0% (0 / 1) 25% (3 / 12)
getDaysInMonth.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getDaysSince.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getEnglishVariant.js 100% (4 / 4) 100% (0 / 0) 100% (1 / 1) 100% (4 / 4)
getExtendedDate.js 10.42% (20 / 192) 0% (0 / 152) 0% (0 / 24) 10.47% (20 / 191)
getHigherUnitIndex.js 80% (4 / 5) 0% (0 / 2) 0% (0 / 1) 80% (4 / 5)
getHours.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getLowerUnitIndex.js 44.44% (4 / 9) 0% (0 / 4) 0% (0 / 1) 44.44% (4 / 9)
getMeridiemToken.js 66.67% (4 / 6) 0% (0 / 2) 0% (0 / 1) 66.67% (4 / 6)
getMonth.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getNewDate.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getNewLocale.js 73.93% (190 / 257) 57.55% (80 / 139) 75.44% (43 / 57) 73.93% (190 / 257)
getParsingTokenValue.js 15.38% (2 / 13) 0% (0 / 10) 0% (0 / 1) 15.38% (2 / 13)
getParsingTokenWithSuffix.js 30% (3 / 10) 0% (0 / 4) 0% (0 / 1) 30% (3 / 10)
getRegNonCapturing.js 100% (7 / 7) 75% (3 / 4) 100% (1 / 1) 100% (7 / 7)
getTimeDistanceForUnit.js 14.29% (3 / 21) 0% (0 / 12) 0% (0 / 1) 14.29% (3 / 21)
getUTCOffset.js 36.36% (4 / 11) 0% (0 / 8) 0% (0 / 1) 40% (4 / 10)
getUnitIndexForParamName.js 33.33% (3 / 9) 100% (0 / 0) 0% (0 / 2) 33.33% (3 / 9)
getWeekNumber.js 22.22% (4 / 18) 0% (0 / 8) 0% (0 / 1) 22.22% (4 / 18)
getWeekYear.js 22.22% (4 / 18) 0% (0 / 14) 0% (0 / 1) 22.22% (4 / 18)
getWeekday.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getYear.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getYearFromAbbreviation.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 1) 36.36% (4 / 11)
isUTC.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
iterateOverDateParams.js 38.46% (5 / 13) 0% (0 / 6) 0% (0 / 3) 38.46% (5 / 13)
iterateOverDateUnits.js 90% (9 / 10) 66.67% (4 / 6) 100% (1 / 1) 90% (9 / 10)
iterateOverHigherDateParams.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
moveToBeginningOfUnit.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
moveToBeginningOfWeek.js 66.67% (4 / 6) 100% (0 / 0) 0% (0 / 1) 66.67% (4 / 6)
moveToEndOfUnit.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
moveToEndOfWeek.js 57.14% (4 / 7) 100% (0 / 0) 0% (0 / 1) 57.14% (4 / 7)
moveToFirstDayOfWeekYear.js 57.14% (4 / 7) 100% (0 / 0) 0% (0 / 1) 57.14% (4 / 7)
resetLowerUnits.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
resetTime.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
setDate.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
setDateChainableConstructor.js 100% (5 / 5) 100% (0 / 0) 100% (1 / 1) 100% (5 / 5)
setISOWeekNumber.js 30.77% (4 / 13) 0% (0 / 4) 0% (0 / 1) 30.77% (4 / 13)
setMonth.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
setUnitAndLowerToEdge.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 2) 36.36% (4 / 11)
setWeekday.js 28.57% (4 / 14) 0% (0 / 10) 0% (0 / 1) 30.77% (4 / 13)
setYear.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
tzOffset.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
updateDate.js 16.18% (11 / 68) 0% (0 / 50) 0% (0 / 8) 16.18% (11 / 68)
walkUnitDown.js 42.86% (3 / 7) 0% (0 / 2) 0% (0 / 1) 42.86% (3 / 7)
Code coverage report for node-npmtest-sugar/sugar/date/internal/advanceDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/advanceDate.js

Statements: 50% (3 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var updateDate = require('./updateDate');
 
function advanceDate(d, unit, num, reset) {
  var set = {};
  set[unit] = num;
  return updateDate(d, set, reset, 1);
}
 
module.exports = advanceDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/advanceDateWithArgs.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/advanceDateWithArgs.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1     1         1  
'use strict';
 
var updateDate = require('./updateDate'),
    collectDateArguments = require('./collectDateArguments');
 
function advanceDateWithArgs(d, args, dir) {
  args = collectDateArguments(args, true);
  return updateDate(d, args[0], args[1], dir);
}
 
module.exports = advanceDateWithArgs;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/arrayToRegAlternates.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/arrayToRegAlternates.js

Statements: 77.78% (7 / 9)      Branches: 66.67% (4 / 6)      Functions: 100% (1 / 1)      Lines: 77.78% (7 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1 87 87     87       87     1  
'use strict';
 
var map = require('../../common/internal/map'),
    escapeRegExp = require('../../common/internal/escapeRegExp');
 
function arrayToRegAlternates(arr) {
  var joined = arr.join('');
  Iif (!arr || !arr.length) {
    return '';
  }
  Iif (joined.length === arr.length) {
    return '[' + joined + ']';
  }
  // map handles sparse arrays so no need to compact the array here.
  return map(arr, escapeRegExp).join('|');
}
 
module.exports = arrayToRegAlternates;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/assertDateIsValid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/assertDateIsValid.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var dateIsValid = require('./dateIsValid');
 
function assertDateIsValid(d) {
  if (!dateIsValid(d)) {
    throw new TypeError('Date is not valid');
  }
}
 
module.exports = assertDateIsValid;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/buildDateUnitMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/buildDateUnitMethods.js

Statements: 73.91% (17 / 23)      Branches: 100% (4 / 4)      Functions: 33.33% (3 / 9)      Lines: 73.91% (17 / 23)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60    1                         1       1   1 8   8 3 9         8 4     4         8       8     8       8 8           1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    forEach = require('../../common/internal/forEach'),
    compareDate = require('./compareDate'),
    advanceDate = require('./advanceDate'),
    moveToEndOfUnit = require('./moveToEndOfUnit'),
    simpleCapitalize = require('../../common/internal/simpleCapitalize'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineInstanceSimilar = require('../../common/internal/defineInstanceSimilar'),
    moveToBeginningOfUnit = require('./moveToBeginningOfUnit'),
    createDateWithContext = require('./createDateWithContext'),
    getTimeDistanceForUnit = require('./getTimeDistanceForUnit');
 
var sugarDate = namespaceAliases.sugarDate,
    HOURS_INDEX = DateUnitIndexes.HOURS_INDEX,
    DAY_INDEX = DateUnitIndexes.DAY_INDEX;
 
function buildDateUnitMethods() {
 
  defineInstanceSimilar(sugarDate, DateUnits, function(methods, unit, index) {
    var name = unit.name, caps = simpleCapitalize(name);
 
    if (index > DAY_INDEX) {
      forEach(['Last','This','Next'], function(shift) {
        methods['is' + shift + caps] = function(d, localeCode) {
          return compareDate(d, shift + ' ' + name, 0, localeCode, { locale: 'en' });
        };
      });
    }
    if (index > HOURS_INDEX) {
      methods['beginningOf' + caps] = function(d, localeCode) {
        return moveToBeginningOfUnit(d, index, localeCode);
      };
      methods['endOf' + caps] = function(d, localeCode) {
        return moveToEndOfUnit(d, index, localeCode);
      };
    }
 
    methods['add' + caps + 's'] = function(d, num, reset) {
      return advanceDate(d, name, num, reset);
    };
 
    var since = function(date, d, options) {
      return getTimeDistanceForUnit(date, createDateWithContext(date, d, options, true), unit);
    };
    var until = function(date, d, options) {
      return getTimeDistanceForUnit(createDateWithContext(date, d, options, true), date, unit);
    };
 
    methods[name + 'sAgo']   = methods[name + 'sUntil']   = until;
    methods[name + 'sSince'] = methods[name + 'sFromNow'] = since;
 
  });
 
}
 
module.exports = buildDateUnitMethods;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/buildNumberUnitMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/buildNumberUnitMethods.js

Statements: 86.36% (19 / 22)      Branches: 100% (0 / 0)      Functions: 40% (2 / 5)      Lines: 86.36% (19 / 22)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » buildNumberUnitMethods.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39    1             1     1 1 8 8     8     8     8 8 8 8 8 8 8 8 8 8       1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    createDate = require('./createDate'),
    mathAliases = require('../../common/var/mathAliases'),
    advanceDate = require('./advanceDate'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineInstanceSimilar = require('../../common/internal/defineInstanceSimilar');
 
var sugarNumber = namespaceAliases.sugarNumber,
    round = mathAliases.round;
 
function buildNumberUnitMethods() {
  defineInstanceSimilar(sugarNumber, DateUnits, function(methods, unit) {
    var name = unit.name, base, after, before;
    base = function(n) {
      return round(n * unit.multiplier);
    };
    after = function(n, d, options) {
      return advanceDate(createDate(d, options, true), name, n);
    };
    before = function(n, d, options) {
      return advanceDate(createDate(d, options, true), name, -n);
    };
    methods[name] = base;
    methods[name + 's'] = base;
    methods[name + 'Before'] = before;
    methods[name + 'sBefore'] = before;
    methods[name + 'Ago'] = before;
    methods[name + 'sAgo'] = before;
    methods[name + 'After'] = after;
    methods[name + 'sAfter'] = after;
    methods[name + 'FromNow'] = after;
    methods[name + 'sFromNow'] = after;
  });
}
 
module.exports = buildNumberUnitMethods;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/buildRelativeAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/buildRelativeAliases.js

Statements: 90.91% (10 / 11)      Branches: 100% (0 / 0)      Functions: 66.67% (2 / 3)      Lines: 90.91% (10 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1           1     1 1 1 1 1 1 26           1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    spaceSplit = require('../../common/internal/spaceSplit'),
    fullCompareDate = require('./fullCompareDate'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineInstanceSimilar = require('../../common/internal/defineInstanceSimilar');
 
var English = LocaleHelpers.English,
    sugarDate = namespaceAliases.sugarDate;
 
function buildRelativeAliases() {
  var special  = spaceSplit('Today Yesterday Tomorrow Weekday Weekend Future Past');
  var weekdays = English.weekdays.slice(0, 7);
  var months   = English.months.slice(0, 12);
  var together = special.concat(weekdays).concat(months);
  defineInstanceSimilar(sugarDate, together, function(methods, name) {
    methods['is'+ name] = function(d) {
      return fullCompareDate(d, name);
    };
  });
}
 
module.exports = buildRelativeAliases;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/callDateSetWithWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/callDateSetWithWeek.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var callDateSet = require('../../common/internal/callDateSet'),
    setISOWeekNumber = require('./setISOWeekNumber');
 
function callDateSetWithWeek(d, method, value, safe) {
  if (method === 'ISOWeek') {
    setISOWeekNumber(d, value);
  } else {
    callDateSet(d, method, value, safe);
  }
}
 
module.exports = callDateSetWithWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/cloneDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/cloneDate.js

Statements: 50% (3 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var _utc = require('../../common/var/_utc');
 
function cloneDate(d) {
  // Rhino environments have a bug where new Date(d) truncates
  // milliseconds so need to call getTime() here.
  var clone = new Date(d.getTime());
  _utc(clone, !!_utc(d));
  return clone;
}
 
module.exports = cloneDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/collectDateArguments.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/collectDateArguments.js

Statements: 30.77% (4 / 13)      Branches: 0% (0 / 10)      Functions: 0% (0 / 1)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28    1           1     1                             1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    simpleClone = require('../../common/internal/simpleClone'),
    isObjectType = require('../../common/internal/isObjectType'),
    getDateParamsFromString = require('./getDateParamsFromString'),
    collectDateParamsFromArguments = require('./collectDateParamsFromArguments');
 
var isNumber = classChecks.isNumber,
    isString = classChecks.isString;
 
function collectDateArguments(args, allowDuration) {
  var arg1 = args[0], arg2 = args[1];
  if (allowDuration && isString(arg1)) {
    arg1 = getDateParamsFromString(arg1);
  } else if (isNumber(arg1) && isNumber(arg2)) {
    arg1 = collectDateParamsFromArguments(args);
    arg2 = null;
  } else {
    if (isObjectType(arg1)) {
      arg1 = simpleClone(arg1);
    }
  }
  return [arg1, arg2];
}
 
module.exports = collectDateArguments;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/collectDateParamsFromArguments.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/collectDateParamsFromArguments.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 40% (4 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » collectDateParamsFromArguments.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1   1                     1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes'),
    isDefined = require('../../common/internal/isDefined'),
    walkUnitDown = require('./walkUnitDown');
 
var YEAR_INDEX = DateUnitIndexes.YEAR_INDEX;
 
function collectDateParamsFromArguments(args) {
  var params = {}, index = 0;
  walkUnitDown(YEAR_INDEX, function(unit) {
    var arg = args[index++];
    if (isDefined(arg)) {
      params[unit.name] = arg;
    }
  });
  return params;
}
 
module.exports = collectDateParamsFromArguments;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/compareDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/compareDate.js

Statements: 15% (6 / 40)      Branches: 0% (0 / 35)      Functions: 0% (0 / 3)      Lines: 15.38% (6 / 39)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78    1                         1   1     1                 1                                                                                             1  
'use strict';
 
var MINUTES = require('../var/MINUTES'),
    DateUnits = require('../var/DateUnits'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    _utc = require('../../common/var/_utc'),
    tzOffset = require('./tzOffset'),
    cloneDate = require('./cloneDate'),
    isDefined = require('../../common/internal/isDefined'),
    advanceDate = require('./advanceDate'),
    dateIsValid = require('./dateIsValid'),
    moveToEndOfUnit = require('./moveToEndOfUnit'),
    getExtendedDate = require('./getExtendedDate'),
    moveToBeginningOfUnit = require('./moveToBeginningOfUnit');
 
var MONTH_INDEX = DateUnitIndexes.MONTH_INDEX;
 
function compareDate(date, d, margin, localeCode, options) {
  var loMargin = 0, hiMargin = 0, timezoneShift, compareEdges, override, min, max, p, t;
 
  function getTimezoneShift() {
    // If there is any specificity in the date then we're implicitly not
    // checking absolute time, so ignore timezone shifts.
    if (p.set && p.set.specificity) {
      return 0;
    }
    return (tzOffset(p.date) - tzOffset(date)) * MINUTES;
  }
 
  function addSpecificUnit() {
    var unit = DateUnits[p.set.specificity];
    return advanceDate(cloneDate(p.date), unit.name, 1).getTime() - 1;
  }
 
  if (_utc(date)) {
    options = options || {};
    options.fromUTC = true;
    options.setUTC = true;
  }
 
  p = getExtendedDate(null, d, options, true);
 
  if (margin > 0) {
    loMargin = hiMargin = margin;
    override = true;
  }
  if (!dateIsValid(p.date)) return false;
  if (p.set && p.set.specificity) {
    if (isDefined(p.set.edge) || isDefined(p.set.shift)) {
      compareEdges = true;
      moveToBeginningOfUnit(p.date, p.set.specificity, localeCode);
    }
    if (compareEdges || p.set.specificity === MONTH_INDEX) {
      max = moveToEndOfUnit(cloneDate(p.date), p.set.specificity, localeCode).getTime();
    } else {
      max = addSpecificUnit();
    }
    if (!override && isDefined(p.set.sign) && p.set.specificity) {
      // If the time is relative, there can occasionally be an disparity between
      // the relative date and "now", which it is being compared to, so set an
      // extra margin to account for this.
      loMargin = 50;
      hiMargin = -50;
    }
  }
  t   = date.getTime();
  min = p.date.getTime();
  max = max || min;
  timezoneShift = getTimezoneShift();
  if (timezoneShift) {
    min -= timezoneShift;
    max -= timezoneShift;
  }
  return t >= (min - loMargin) && t <= (max + hiMargin);
}
 
module.exports = compareDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/compareDay.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/compareDay.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 5)      Functions: 0% (0 / 1)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1           1                   1  
'use strict';
 
var setDate = require('./setDate'),
    getDate = require('./getDate'),
    getYear = require('./getYear'),
    getMonth = require('./getMonth'),
    getNewDate = require('./getNewDate');
 
function compareDay(d, shift) {
  var comp = getNewDate();
  if (shift) {
    setDate(comp, getDate(comp) + shift);
  }
  return getYear(d) === getYear(comp) &&
         getMonth(d) === getMonth(comp) &&
         getDate(d) === getDate(comp);
}
 
module.exports = compareDay;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/createDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/createDate.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var getExtendedDate = require('./getExtendedDate');
 
function createDate(d, options, forceClone) {
  return getExtendedDate(null, d, options, forceClone).date;
}
 
module.exports = createDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/createDateWithContext.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/createDateWithContext.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » createDateWithContext.js
1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var getExtendedDate = require('./getExtendedDate');
 
function createDateWithContext(contextDate, d, options, forceClone) {
  return getExtendedDate(contextDate, d, options, forceClone).date;
}
 
module.exports = createDateWithContext;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/dateFormat.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/dateFormat.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1   1           1  
'use strict';
 
var CoreOutputFormats = require('../var/CoreOutputFormats'),
    formattingTokens = require('../var/formattingTokens'),
    assertDateIsValid = require('./assertDateIsValid');
 
var dateFormatMatcher = formattingTokens.dateFormatMatcher;
 
function dateFormat(d, format, localeCode) {
  assertDateIsValid(d);
  format = CoreOutputFormats[format] || format || '{long}';
  return dateFormatMatcher(format, d, localeCode);
}
 
module.exports = dateFormat;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/dateIsValid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/dateIsValid.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function dateIsValid(d) {
  return !isNaN(d.getTime());
}
 
module.exports = dateIsValid;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/dateRelative.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/dateRelative.js

Statements: 16.67% (4 / 24)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 16.67% (4 / 24)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45    1           1     1                                                               1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    dateFormat = require('./dateFormat'),
    classChecks = require('../../common/var/classChecks'),
    assertDateIsValid = require('./assertDateIsValid'),
    getAdjustedUnitForDate = require('./getAdjustedUnitForDate');
 
var isFunction = classChecks.isFunction,
    localeManager = LocaleHelpers.localeManager;
 
function dateRelative(d, dRelative, arg1, arg2) {
  var adu, format, type, localeCode, fn;
  assertDateIsValid(d);
  if (isFunction(arg1)) {
    fn = arg1;
  } else {
    localeCode = arg1;
    fn = arg2;
  }
  adu = getAdjustedUnitForDate(d, dRelative);
  if (fn) {
    format = fn.apply(d, adu.concat(localeManager.get(localeCode)));
    if (format) {
      return dateFormat(d, format, localeCode);
    }
  }
  // Adjust up if time is in ms, as this doesn't
  // look very good for a standard relative date.
  if (adu[1] === 0) {
    adu[1] = 1;
    adu[0] = 1;
  }
  if (dRelative) {
    type = 'duration';
  } else if (adu[2] > 0) {
    type = 'future';
  } else {
    type = 'past';
  }
  return localeManager.get(localeCode).getRelativeFormat(adu, type);
}
 
module.exports = dateRelative;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/defaultNewDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/defaultNewDate.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function defaultNewDate() {
  return new Date;
}
 
module.exports = defaultNewDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/deleteDateParam.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/deleteDateParam.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var getDateParamKey = require('./getDateParamKey');
 
function deleteDateParam(params, key) {
  delete params[getDateParamKey(params, key)];
}
 
module.exports = deleteDateParam;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/fullCompareDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/fullCompareDate.js

Statements: 20% (4 / 20)      Branches: 0% (0 / 17)      Functions: 0% (0 / 1)      Lines: 21.05% (4 / 19)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41    1                     1     1                                             1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    trim = require('../../common/internal/trim'),
    getMonth = require('./getMonth'),
    isDefined = require('../../common/internal/isDefined'),
    getNewDate = require('./getNewDate'),
    compareDay = require('./compareDay'),
    getWeekday = require('./getWeekday'),
    dateIsValid = require('./dateIsValid'),
    classChecks = require('../../common/var/classChecks'),
    compareDate = require('./compareDate');
 
var isString = classChecks.isString,
    English = LocaleHelpers.English;
 
function fullCompareDate(date, d, margin) {
  var tmp;
  if (!dateIsValid(date)) return;
  if (isString(d)) {
    d = trim(d).toLowerCase();
    switch(true) {
      case d === 'future':    return date.getTime() > getNewDate().getTime();
      case d === 'past':      return date.getTime() < getNewDate().getTime();
      case d === 'today':     return compareDay(date);
      case d === 'tomorrow':  return compareDay(date,  1);
      case d === 'yesterday': return compareDay(date, -1);
      case d === 'weekday':   return getWeekday(date) > 0 && getWeekday(date) < 6;
      case d === 'weekend':   return getWeekday(date) === 0 || getWeekday(date) === 6;
 
      case (isDefined(tmp = English.weekdayMap[d])):
        return getWeekday(date) === tmp;
      case (isDefined(tmp = English.monthMap[d])):
        return getMonth(date) === tmp;
    }
  }
  return compareDate(date, d, margin);
}
 
module.exports = fullCompareDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnit.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1     1   1                       1  
'use strict';
 
var mathAliases = require('../../common/var/mathAliases'),
    iterateOverDateUnits = require('./iterateOverDateUnits');
 
var abs = mathAliases.abs;
 
function getAdjustedUnit(ms, fn) {
  var unitIndex = 0, value = 0;
  iterateOverDateUnits(function(unit, i) {
    value = abs(fn(unit));
    if (value >= 1) {
      unitIndex = i;
      return false;
    }
  });
  return [value, unitIndex, ms];
}
 
module.exports = getAdjustedUnit;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnitForDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnitForDate.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getAdjustedUnitForDate.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32    1         1   1                                         1  
'use strict';
 
var getNewDate = require('./getNewDate'),
    mathAliases = require('../../common/var/mathAliases'),
    getAdjustedUnit = require('./getAdjustedUnit'),
    getTimeDistanceForUnit = require('./getTimeDistanceForUnit');
 
var abs = mathAliases.abs;
 
function getAdjustedUnitForDate(d, dRelative) {
  var ms;
  if (!dRelative) {
    dRelative = getNewDate();
    if (d > dRelative) {
      // If our date is greater than the one that we got from getNewDate, it
      // means that we are finding the unit for a date that is in the future
      // relative to now. However, often the incoming date was created in
      // the same cycle as our comparison, but our "now" date will have been
      // created an instant after it, creating situations where "5 minutes from
      // now" becomes "4 minutes from now" in the same tick. To prevent this,
      // subtract a buffer of 10ms to compensate.
      dRelative = new Date(dRelative.getTime() - 10);
    }
  }
  ms = d - dRelative;
  return getAdjustedUnit(ms, function(u) {
    return abs(getTimeDistanceForUnit(d, dRelative, u));
  });
}
 
module.exports = getAdjustedUnitForDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnitForNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getAdjustedUnitForNumber.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 60% (3 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getAdjustedUnitForNumber.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1           1  
'use strict';
 
var trunc = require('../../common/var/trunc'),
    withPrecision = require('../../common/internal/withPrecision'),
    getAdjustedUnit = require('./getAdjustedUnit');
 
function getAdjustedUnitForNumber(ms) {
  return getAdjustedUnit(ms, function(unit) {
    return trunc(withPrecision(ms / unit.multiplier, 1));
  });
}
 
module.exports = getAdjustedUnitForNumber;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getArrayWithOffset.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getArrayWithOffset.js

Statements: 33.33% (2 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function getArrayWithOffset(arr, n, alternate, offset) {
  var val;
  if (alternate > 1) {
    val = arr[n + (alternate - 1) * offset];
  }
  return val || arr[n];
}
 
module.exports = getArrayWithOffset;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDate.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateGet = require('../../common/internal/callDateGet');
 
function getDate(d) {
  return callDateGet(d, 'Date');
}
 
module.exports = getDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParam.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParam.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1   1       1  
'use strict';
 
var getDateParamKey = require('./getDateParamKey'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var getOwn = coreUtilityAliases.getOwn;
 
function getDateParam(params, key) {
  return getOwn(params, getDateParamKey(params, key));
}
 
module.exports = getDateParam;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParamKey.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParamKey.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var getOwnKey = require('../../common/internal/getOwnKey');
 
function getDateParamKey(params, key) {
  return getOwnKey(params, key) ||
         getOwnKey(params, key + 's') ||
         (key === 'day' && getOwnKey(params, 'date'));
}
 
module.exports = getDateParamKey;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParamsFromString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDateParamsFromString.js

Statements: 25% (3 / 12)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 25% (3 / 12)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getDateParamsFromString.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1   1                             1  
'use strict';
 
var isUndefined = require('../../common/internal/isUndefined');
 
function getDateParamsFromString(str) {
  var match, num, params = {};
  match = str.match(/^(-?\d*[\d.]\d*)?\s?(\w+?)s?$/i);
  if (match) {
    if (isUndefined(num)) {
      num = +match[1];
      if (isNaN(num)) {
        num = 1;
      }
    }
    params[match[2].toLowerCase()] = num;
  }
  return params;
}
 
module.exports = getDateParamsFromString;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDaysInMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDaysInMonth.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1       1       1  
'use strict';
 
var getYear = require('./getYear'),
    getMonth = require('./getMonth'),
    callDateGet = require('../../common/internal/callDateGet');
 
function getDaysInMonth(d) {
  return 32 - callDateGet(new Date(getYear(d), getMonth(d), 32), 'Date');
}
 
module.exports = getDaysInMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getDaysSince.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getDaysSince.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1   1       1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    getTimeDistanceForUnit = require('./getTimeDistanceForUnit');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX;
 
function getDaysSince(d1, d2) {
  return getTimeDistanceForUnit(d1, d2, DateUnits[DAY_INDEX]);
}
 
module.exports = getDaysSince;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getEnglishVariant.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getEnglishVariant.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1       1 3     1  
'use strict';
 
var EnglishLocaleBaseDefinition = require('../var/EnglishLocaleBaseDefinition'),
    simpleMerge = require('../../common/internal/simpleMerge'),
    simpleClone = require('../../common/internal/simpleClone');
 
function getEnglishVariant(v) {
  return simpleMerge(simpleClone(EnglishLocaleBaseDefinition), v);
}
 
module.exports = getEnglishVariant;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getExtendedDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getExtendedDate.js

Statements: 10.42% (20 / 192)      Branches: 0% (0 / 152)      Functions: 0% (0 / 24)      Lines: 10.47% (20 / 191)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433    1                                                     1                       1             1           1                                         1                         1       1           1                                                                                                                                                                                           1                   1                 1                   1                   1                       1                 1                                                                                                                   1                                                                                             1                     1                                                                                                                             1  
'use strict';
 
var MINUTES = require('../var/MINUTES'),
    ParsingTokens = require('../var/ParsingTokens'),
    LocaleHelpers = require('../var/LocaleHelpers'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    _utc = require('../../common/var/_utc'),
    trunc = require('../../common/var/trunc'),
    forEach = require('../../common/internal/forEach'),
    tzOffset = require('./tzOffset'),
    resetTime = require('./resetTime'),
    isDefined = require('../../common/internal/isDefined'),
    setWeekday = require('./setWeekday'),
    updateDate = require('./updateDate'),
    getNewDate = require('./getNewDate'),
    isUndefined = require('../../common/internal/isUndefined'),
    classChecks = require('../../common/var/classChecks'),
    advanceDate = require('./advanceDate'),
    simpleClone = require('../../common/internal/simpleClone'),
    isObjectType = require('../../common/internal/isObjectType'),
    moveToEndOfUnit = require('./moveToEndOfUnit'),
    deleteDateParam = require('./deleteDateParam'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getParsingTokenValue = require('./getParsingTokenValue'),
    moveToBeginningOfUnit = require('./moveToBeginningOfUnit'),
    iterateOverDateParams = require('./iterateOverDateParams'),
    getYearFromAbbreviation = require('./getYearFromAbbreviation'),
    iterateOverHigherDateParams = require('./iterateOverHigherDateParams');
 
var isNumber = classChecks.isNumber,
    isString = classChecks.isString,
    isDate = classChecks.isDate,
    hasOwn = coreUtilityAliases.hasOwn,
    getOwn = coreUtilityAliases.getOwn,
    English = LocaleHelpers.English,
    localeManager = LocaleHelpers.localeManager,
    DAY_INDEX = DateUnitIndexes.DAY_INDEX,
    WEEK_INDEX = DateUnitIndexes.WEEK_INDEX,
    MONTH_INDEX = DateUnitIndexes.MONTH_INDEX,
    YEAR_INDEX = DateUnitIndexes.YEAR_INDEX;
 
function getExtendedDate(contextDate, d, opt, forceClone) {
 
  var date, set, loc, options, afterCallbacks, relative, weekdayDir;
 
  afterCallbacks = [];
  options = getDateOptions(opt);
 
  function getDateOptions(opt) {
    var options = isString(opt) ? { locale: opt } : opt || {};
    options.prefer = +!!getOwn(options, 'future') - +!!getOwn(options, 'past');
    return options;
  }
 
  function getFormatParams(match, dif) {
    var set = getOwn(options, 'params') || {};
    forEach(dif.to, function(field, i) {
      var str = match[i + 1], token, val;
      if (!str) return;
      if (field === 'yy' || field === 'y') {
        field = 'year';
        val = getYearFromAbbreviation(str, date, getOwn(options, 'prefer'));
      } else if (token = getOwn(ParsingTokens, field)) {
        field = token.param || field;
        val = getParsingTokenValue(token, str);
      } else {
        val = loc.getTokenValue(field, str);
      }
      set[field] = val;
    });
    return set;
  }
 
  // Clone date will set the utc flag, but it will
  // be overriden later, so set option flags instead.
  function cloneDateByFlag(d, clone) {
    if (_utc(d) && !isDefined(getOwn(options, 'fromUTC'))) {
      options.fromUTC = true;
    }
    if (_utc(d) && !isDefined(getOwn(options, 'setUTC'))) {
      options.setUTC = true;
    }
    if (clone) {
      d = new Date(d.getTime());
    }
    return d;
  }
 
  function afterDateSet(fn) {
    afterCallbacks.push(fn);
  }
 
  function fireCallbacks() {
    forEach(afterCallbacks, function(fn) {
      fn.call();
    });
  }
 
  function parseStringDate(str) {
 
    str = str.toLowerCase();
 
    // The act of getting the locale will initialize
    // if it is missing and add the required formats.
    loc = localeManager.get(getOwn(options, 'locale'));
 
    for (var i = 0, dif, match; dif = loc.compiledFormats[i]; i++) {
      match = str.match(dif.reg);
      if (match) {
 
        // Note that caching the format will modify the compiledFormats array
        // which is not a good idea to do inside its for loop, however we
        // know at this point that we have a matched format and that we will
        // break out below, so simpler to do it here.
        loc.cacheFormat(dif, i);
 
        set = getFormatParams(match, dif);
 
        if (isDefined(set.timestamp)) {
          str = set.timestamp;
          set = null;
          break;
        }
 
        if (isDefined(set.ampm)) {
          handleAmpm(set.ampm);
        }
 
        if (set.utc || isDefined(set.tzHour)) {
          handleTimezoneOffset(set.tzHour, set.tzMinute, set.tzSign);
        }
 
        if (isDefined(set.shift) && isUndefined(set.unit)) {
          // "next january", "next monday", etc
          handleUnitlessShift();
        }
 
        if (isDefined(set.num) && isUndefined(set.unit)) {
          // "the second of January", etc
          handleUnitlessNum(set.num);
        }
 
        if (set.midday) {
          // "noon" and "midnight"
          handleMidday(set.midday);
        }
 
        if (isDefined(set.day)) {
          // Relative day localizations such as "today" and "tomorrow".
          handleRelativeDay(set.day);
        }
 
        if (isDefined(set.unit)) {
          // "3 days ago", etc
          handleRelativeUnit(set.unit);
        }
 
        if (set.edge) {
          // "the end of January", etc
          handleEdge(set.edge, set);
        }
 
        if (set.yearSign) {
          set.year *= set.yearSign;
        }
 
        break;
      }
    }
 
    if (!set) {
      // Fall back to native parsing
      date = new Date(str);
      if (getOwn(options, 'fromUTC')) {
        // Falling back to system date here which cannot be parsed as UTC,
        // so if we're forcing UTC then simply add the offset.
        date.setTime(date.getTime() + (tzOffset(date) * MINUTES));
      }
    } else if (relative) {
      updateDate(date, set, false, 1);
    } else {
      if (_utc(date)) {
        // UTC times can traverse into other days or even months,
        // so preemtively reset the time here to prevent this.
        resetTime(date);
      }
      updateDate(date, set, true, 0, getOwn(options, 'prefer'), weekdayDir);
    }
    fireCallbacks();
    return date;
  }
 
  function handleAmpm(ampm) {
    if (ampm === 1 && set.hour < 12) {
      // If the time is 1pm-11pm advance the time by 12 hours.
      set.hour += 12;
    } else if (ampm === 0 && set.hour === 12) {
      // If it is 12:00am then set the hour to 0.
      set.hour = 0;
    }
  }
 
  function handleTimezoneOffset(tzHour, tzMinute, tzSign) {
    // Adjust for timezone offset
    _utc(date, true);
    var offset = (tzSign || 1) * ((tzHour || 0) * 60 + (tzMinute || 0));
    if (offset) {
      set.minute = (set.minute || 0) - offset;
    }
  }
 
  function handleUnitlessShift() {
    if (isDefined(set.month)) {
      // "next January"
      set.unit = YEAR_INDEX;
    } else if (isDefined(set.weekday)) {
      // "next Monday"
      set.unit = WEEK_INDEX;
    }
  }
 
  function handleUnitlessNum(num) {
    if (isDefined(set.weekday)) {
      // "The second Tuesday of March"
      setOrdinalWeekday(num);
    } else if (isDefined(set.month)) {
      // "The second of March"
      set.date = set.num;
    }
  }
 
  function handleMidday(hour) {
    set.hour = hour % 24;
    if (hour > 23) {
      // If the date has hours past 24, we need to prevent it from traversing
      // into a new day as that would make it being part of a new week in
      // ambiguous dates such as "Monday".
      afterDateSet(function() {
        advanceDate(date, 'date', trunc(hour / 24));
      });
    }
  }
 
  function handleRelativeDay() {
    resetTime(date);
    if (isUndefined(set.unit)) {
      set.unit = DAY_INDEX;
      set.num  = set.day;
      delete set.day;
    }
  }
 
  function handleRelativeUnit(unitIndex) {
    var num = isDefined(set.num) ? set.num : 1;
 
    // If a weekday is defined, there are 3 possible formats being applied:
    //
    // 1. "the day after monday": unit is days
    // 2. "next monday": short for "next week monday", unit is weeks
    // 3. "the 2nd monday of next month": unit is months
    //
    // In the first case, we need to set the weekday up front, as the day is
    // relative to it. The second case also needs to be handled up front for
    // formats like "next monday at midnight" which will have its weekday reset
    // if not set up front. The last case will set up the params necessary to
    // shift the weekday and allow separateAbsoluteUnits below to handle setting
    // it after the date has been shifted.
    if(isDefined(set.weekday)) {
      if(unitIndex === MONTH_INDEX) {
        setOrdinalWeekday(num);
        num = 1;
      } else {
        updateDate(date, { weekday: set.weekday }, true);
        delete set.weekday;
      }
    }
 
    if (set.half) {
      // Allow localized "half" as a standalone colloquialism. Purposely avoiding
      // the locale number system to reduce complexity. The units "month" and
      // "week" are purposely excluded in the English date formats below, as
      // "half a week" and "half a month" are meaningless as exact dates.
      num *= set.half;
    }
 
    if (isDefined(set.shift)) {
      // Shift and unit, ie "next month", "last week", etc.
      num *= set.shift;
    } else if (set.sign) {
      // Unit and sign, ie "months ago", "weeks from now", etc.
      num *= set.sign;
    }
 
    if (isDefined(set.day)) {
      // "the day after tomorrow"
      num += set.day;
      delete set.day;
    }
 
    // Formats like "the 15th of last month" or "6:30pm of next week"
    // contain absolute units in addition to relative ones, so separate
    // them here, remove them from the params, and set up a callback to
    // set them after the relative ones have been set.
    separateAbsoluteUnits(unitIndex);
 
    // Finally shift the unit.
    set[English.units[unitIndex]] = num;
    relative = true;
  }
 
  function handleEdge(edge, params) {
    var edgeIndex = params.unit, weekdayOfMonth;
    if (!edgeIndex) {
      // If we have "the end of January", then we need to find the unit index.
      iterateOverHigherDateParams(params, function(unitName, val, unit, i) {
        if (unitName === 'weekday' && isDefined(params.month)) {
          // If both a month and weekday exist, then we have a format like
          // "the last tuesday in November, 2012", where the "last" is still
          // relative to the end of the month, so prevent the unit "weekday"
          // from taking over.
          return;
        }
        edgeIndex = i;
      });
    }
    if (edgeIndex === MONTH_INDEX && isDefined(params.weekday)) {
      // If a weekday in a month exists (as described above),
      // then set it up to be set after the date has been shifted.
      weekdayOfMonth = params.weekday;
      delete params.weekday;
    }
    afterDateSet(function() {
      var stopIndex;
      // "edge" values that are at the very edge are "2" so the beginning of the
      // year is -2 and the end of the year is 2. Conversely, the "last day" is
      // actually 00:00am so it is 1. -1 is reserved but unused for now.
      if (edge < 0) {
        moveToBeginningOfUnit(date, edgeIndex, getOwn(options, 'locale'));
      } else if (edge > 0) {
        if (edge === 1) {
          stopIndex = DAY_INDEX;
          moveToBeginningOfUnit(date, DAY_INDEX);
        }
        moveToEndOfUnit(date, edgeIndex, getOwn(options, 'locale'), stopIndex);
      }
      if (isDefined(weekdayOfMonth)) {
        setWeekday(date, weekdayOfMonth, -edge);
        resetTime(date);
      }
    });
    if (edgeIndex === MONTH_INDEX) {
      params.specificity = DAY_INDEX;
    } else {
      params.specificity = edgeIndex - 1;
    }
  }
 
  function setOrdinalWeekday(num) {
    // If we have "the 2nd Tuesday of June", then pass the "weekdayDir"
    // flag along to updateDate so that the date does not accidentally traverse
    // into the previous month. This needs to be independent of the "prefer"
    // flag because we are only ensuring that the weekday is in the future, not
    // the entire date.
    set.weekday = 7 * (num - 1) + set.weekday;
    set.date = 1;
    weekdayDir = 1;
  }
 
  function separateAbsoluteUnits(unitIndex) {
    var params;
 
    iterateOverDateParams(set, function(name, val, unit, i) {
      // If there is a time unit set that is more specific than
      // the matched unit we have a string like "5:30am in 2 minutes",
      // which is meaningless, so invalidate the date...
      if (i >= unitIndex) {
        date.setTime(NaN);
        return false;
      } else if (i < unitIndex) {
        // ...otherwise set the params to set the absolute date
        // as a callback after the relative date has been set.
        params = params || {};
        params[name] = val;
        deleteDateParam(set, name);
      }
    });
    if (params) {
      afterDateSet(function() {
        updateDate(date, params, true, false, getOwn(options, 'prefer'), weekdayDir);
      });
      if (set.edge) {
        // "the end of March of next year"
        handleEdge(set.edge, params);
        delete set.edge;
      }
    }
  }
 
  if (contextDate && d) {
    // If a context date is passed ("get" and "unitsFromNow"),
    // then use it as the starting point.
    date = cloneDateByFlag(contextDate, true);
  } else {
    date = getNewDate();
  }
 
  _utc(date, getOwn(options, 'fromUTC'));
 
  if (isString(d)) {
    date = parseStringDate(d);
  } else if (isDate(d)) {
    date = cloneDateByFlag(d, hasOwn(options, 'clone') || forceClone);
  } else if (isObjectType(d)) {
    set = simpleClone(d);
    updateDate(date, set, true);
  } else if (isNumber(d) || d === null) {
    date.setTime(d);
  }
  // A date created by parsing a string presumes that the format *itself* is
  // UTC, but not that the date, once created, should be manipulated as such. In
  // other words, if you are creating a date object from a server time
  // "2012-11-15T12:00:00Z", in the majority of cases you are using it to create
  // a date that will, after creation, be manipulated as local, so reset the utc
  // flag here unless "setUTC" is also set.
  _utc(date, !!getOwn(options, 'setUTC'));
  return {
    set: set,
    date: date
  };
}
 
module.exports = getExtendedDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getHigherUnitIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getHigherUnitIndex.js

Statements: 80% (4 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1   1     1       1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX,
    MONTH_INDEX = DateUnitIndexes.MONTH_INDEX;
 
function getHigherUnitIndex(index) {
  return index === DAY_INDEX ? MONTH_INDEX : index + 1;
}
 
module.exports = getHigherUnitIndex;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getHours.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getHours.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateGet = require('../../common/internal/callDateGet');
 
function getHours(d) {
  return callDateGet(d, 'Hours');
}
 
module.exports = getHours;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getLowerUnitIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getLowerUnitIndex.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1   1         1                 1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes');
 
var HOURS_INDEX = DateUnitIndexes.HOURS_INDEX,
    DAY_INDEX = DateUnitIndexes.DAY_INDEX,
    WEEK_INDEX = DateUnitIndexes.WEEK_INDEX,
    MONTH_INDEX = DateUnitIndexes.MONTH_INDEX;
 
function getLowerUnitIndex(index) {
  if (index === MONTH_INDEX) {
    return DAY_INDEX;
  } else if (index === WEEK_INDEX) {
    return HOURS_INDEX;
  }
  return index - 1;
}
 
module.exports = getLowerUnitIndex;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getMeridiemToken.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getMeridiemToken.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1       1   1         1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    trunc = require('../../common/var/trunc'),
    getHours = require('./getHours');
 
var localeManager = LocaleHelpers.localeManager;
 
function getMeridiemToken(d, localeCode) {
  var hours = getHours(d);
  return localeManager.get(localeCode).ampm[trunc(hours / 12)] || '';
}
 
module.exports = getMeridiemToken;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getMonth.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateGet = require('../../common/internal/callDateGet');
 
function getMonth(d) {
  return callDateGet(d, 'Month');
}
 
module.exports = getMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getNewDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getNewDate.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var _dateOptions = require('../var/_dateOptions');
 
function getNewDate() {
  return _dateOptions('newDateInternal')();
}
 
module.exports = getNewDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getNewLocale.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getNewLocale.js

Statements: 73.93% (190 / 257)      Branches: 57.55% (80 / 139)      Functions: 75.44% (43 / 57)      Lines: 73.93% (190 / 257)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520    1                                               1                     1   1 1     1                                                                                                                                                                                                                                                                   32   1 245             245 20 20 1   20     225 20 205 34   171           171   171 24     171 99 99   72 9 144 144     72     225     225   20     205 205   225       225 56   225     1     52   52 234 234 9   225   234       32 32 32     32       32             1       1 1 1 1     1 1     1 1 14 14 8 6 2             1 7 7 6   7 4 4   7 85 85 85 85 85   7 7 4       1 7 43 85         1 57 58 32 65       57     1 1 1 1 3   1     1     1 1 1     1 1 1       1 1       1     1 1     1 1 7 7 7 1   7 7 1   7       1 1 1 1     1 1   1     1 1 8 8           1 1 14 14 14 24 24 24 24       2     14           1 1 5 5     1   5     2 2   3     1     1 1 1 1     1 3 24 14   24       1 18 5   13     1 5     1 13 13 13 13   13 13     1 1 1   1 1 1 1   1 1 1 1 1         1 1           1     1  
'use strict';
 
var LOCALE_ARRAY_FIELDS = require('../var/LOCALE_ARRAY_FIELDS'),
    ISODefaults = require('../var/ISODefaults'),
    ParsingTokens = require('../var/ParsingTokens'),
    CoreParsingFormats = require('../var/CoreParsingFormats'),
    LocalizedParsingTokens = require('../var/LocalizedParsingTokens'),
    map = require('../../common/internal/map'),
    filter = require('../../common/internal/filter'),
    forEach = require('../../common/internal/forEach'),
    isDefined = require('../../common/internal/isDefined'),
    commaSplit = require('../../common/internal/commaSplit'),
    classChecks = require('../../common/var/classChecks'),
    isUndefined = require('../../common/internal/isUndefined'),
    mathAliases = require('../../common/var/mathAliases'),
    simpleMerge = require('../../common/internal/simpleMerge'),
    getOrdinalSuffix = require('../../common/internal/getOrdinalSuffix'),
    getRegNonCapturing = require('./getRegNonCapturing'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getArrayWithOffset = require('./getArrayWithOffset'),
    iterateOverDateUnits = require('./iterateOverDateUnits'),
    arrayToRegAlternates = require('./arrayToRegAlternates'),
    fullwidthNumberHelpers = require('../../common/var/fullwidthNumberHelpers'),
    getAdjustedUnitForNumber = require('./getAdjustedUnitForNumber'),
    getParsingTokenWithSuffix = require('./getParsingTokenWithSuffix');
 
var getOwn = coreUtilityAliases.getOwn,
    forEachProperty = coreUtilityAliases.forEachProperty,
    fullWidthNumberMap = fullwidthNumberHelpers.fullWidthNumberMap,
    fullWidthNumbers = fullwidthNumberHelpers.fullWidthNumbers,
    pow = mathAliases.pow,
    max = mathAliases.max,
    ISO_FIRST_DAY_OF_WEEK = ISODefaults.ISO_FIRST_DAY_OF_WEEK,
    ISO_FIRST_DAY_OF_WEEK_YEAR = ISODefaults.ISO_FIRST_DAY_OF_WEEK_YEAR,
    isString = classChecks.isString,
    isFunction = classChecks.isFunction;
 
function getNewLocale(def) {
 
  function Locale(def) {
    this.init(def);
  }
 
  Locale.prototype = {
 
    getMonthName: function(n, alternate) {
      if (this.monthSuffix) {
        return (n + 1) + this.monthSuffix;
      }
      return getArrayWithOffset(this.months, n, alternate, 12);
    },
 
    getWeekdayName: function(n, alternate) {
      return getArrayWithOffset(this.weekdays, n, alternate, 7);
    },
 
    getTokenValue: function(field, str) {
      var map = this[field + 'Map'], val;
      if (map) {
        val = map[str];
      }
      if (isUndefined(val)) {
        val = this.getNumber(str);
        if (field === 'month') {
          // Months are the only numeric date field
          // whose value is not the same as its number.
          val -= 1;
        }
      }
      return val;
    },
 
    getNumber: function(str) {
      var num = this.numeralMap[str];
      if (isDefined(num)) {
        return num;
      }
      // The unary plus operator here show better performance and handles
      // every format that parseFloat does with the exception of trailing
      // characters, which are guaranteed not to be in our string at this point.
      num = +str.replace(/,/, '.');
      if (!isNaN(num)) {
        return num;
      }
      num = this.getNumeralValue(str);
      if (!isNaN(num)) {
        this.numeralMap[str] = num;
        return num;
      }
      return num;
    },
 
    getNumeralValue: function(str) {
      var place = 1, num = 0, lastWasPlace, isPlace, numeral, digit, arr;
      // Note that "numerals" that need to be converted through this method are
      // all considered to be single characters in order to handle CJK. This
      // method is by no means unique to CJK, but the complexity of handling
      // inflections in non-CJK languages adds too much overhead for not enough
      // value, so avoiding for now.
      arr = str.split('');
      for (var i = arr.length - 1; numeral = arr[i]; i--) {
        digit = getOwn(this.numeralMap, numeral);
        if (isUndefined(digit)) {
          digit = getOwn(fullWidthNumberMap, numeral) || 0;
        }
        isPlace = digit > 0 && digit % 10 === 0;
        if (isPlace) {
          if (lastWasPlace) {
            num += place;
          }
          if (i) {
            place = digit;
          } else {
            num += digit;
          }
        } else {
          num += digit * place;
          place *= 10;
        }
        lastWasPlace = isPlace;
      }
      return num;
    },
 
    getOrdinal: function(n) {
      var suffix = this.ordinalSuffix;
      return suffix || getOrdinalSuffix(n);
    },
 
    getRelativeFormat: function(adu, type) {
      return this.convertAdjustedToFormat(adu, type);
    },
 
    getDuration: function(ms) {
      return this.convertAdjustedToFormat(getAdjustedUnitForNumber(max(0, ms)), 'duration');
    },
 
    getFirstDayOfWeek: function() {
      var val = this.firstDayOfWeek;
      return isDefined(val) ? val : ISO_FIRST_DAY_OF_WEEK;
    },
 
    getFirstDayOfWeekYear: function() {
      return this.firstDayOfWeekYear || ISO_FIRST_DAY_OF_WEEK_YEAR;
    },
 
    convertAdjustedToFormat: function(adu, type) {
      var sign, unit, mult,
          num    = adu[0],
          u      = adu[1],
          ms     = adu[2],
          format = this[type] || this.relative;
      if (isFunction(format)) {
        return format.call(this, num, u, ms, type);
      }
      mult = !this.plural || num === 1 ? 0 : 1;
      unit = this.units[mult * 8 + u] || this.units[u];
      sign = this[ms > 0 ? 'fromNow' : 'ago'];
      return format.replace(/\{(.*?)\}/g, function(full, match) {
        switch(match) {
          case 'num': return num;
          case 'unit': return unit;
          case 'sign': return sign;
        }
      });
    },
 
    cacheFormat: function(dif, i) {
      this.compiledFormats.splice(i, 1);
      this.compiledFormats.unshift(dif);
    },
 
    addFormat: function(src, to) {
      var loc = this;
 
      function getTokenSrc(str) {
        var suffix, src, val,
            opt   = str.match(/\?$/),
            nc    = str.match(/^(\d+)\??$/),
            slice = str.match(/(\d)(?:-(\d))?/),
            key   = str.replace(/[^a-z]+$/i, '');
 
        // Allowing alias tokens such as {time}
        if (val = getOwn(loc.parsingAliases, key)) {
          src = replaceParsingTokens(val);
          if (opt) {
            src = getRegNonCapturing(src, true);
          }
          return src;
        }
 
        if (nc) {
          src = loc.tokens[nc[1]];
        } else if (val = getOwn(ParsingTokens, key)) {
          src = val.src;
        } else {
          val = getOwn(loc.parsingTokens, key) || getOwn(loc, key);
 
          // Both the "months" array and the "month" parsing token can be accessed
          // by either {month} or {months}, falling back as necessary, however
          // regardless of whether or not a fallback occurs, the final field to
          // be passed to addRawFormat must be normalized as singular.
          key = key.replace(/s$/, '');
 
          if (!val) {
            val = getOwn(loc.parsingTokens, key) || getOwn(loc, key + 's');
          }
 
          if (isString(val)) {
            src = val;
            suffix = loc[key + 'Suffix'];
          } else {
            if (slice) {
              val = filter(val, function(m, i) {
                var mod = i % (loc.units ? 8 : val.length);
                return mod >= slice[1] && mod <= (slice[2] || slice[1]);
              });
            }
            src = arrayToRegAlternates(val);
          }
        }
        Iif (!src) {
          return '';
        }
        if (nc) {
          // Non-capturing tokens like {0}
          src = getRegNonCapturing(src);
        } else {
          // Capturing group and add to parsed tokens
          to.push(key);
          src = '(' + src + ')';
        }
        Iif (suffix) {
          // Date/time suffixes such as those in CJK
          src = getParsingTokenWithSuffix(key, src, suffix);
        }
        if (opt) {
          src += '?';
        }
        return src;
      }
 
      function replaceParsingTokens(str) {
 
        // Make spaces optional
        str = str.replace(/ /g, ' ?');
 
        return str.replace(/\{([^,]+?)\}/g, function(match, token) {
          var tokens = token.split('|'), src;
          if (tokens.length > 1) {
            src = getRegNonCapturing(map(tokens, getTokenSrc).join('|'));
          } else {
            src = getTokenSrc(token);
          }
          return src;
        });
      }
 
      Eif (!to) {
        to = [];
        src = replaceParsingTokens(src);
      }
 
      loc.addRawFormat(src, to);
    },
 
    addRawFormat: function(format, to) {
      this.compiledFormats.unshift({
        reg: RegExp('^ *' + format + ' *$', 'i'),
        to: to
      });
    },
 
    init: function(def) {
      var loc = this;
 
      // -- Initialization helpers
 
      function initFormats() {
        loc.compiledFormats = [];
        loc.parsingAliases = {};
        loc.parsingTokens = {};
      }
 
      function initDefinition() {
        simpleMerge(loc, def);
      }
 
      function initArrayFields() {
        forEach(LOCALE_ARRAY_FIELDS, function(name) {
          var val = loc[name];
          if (isString(val)) {
            loc[name] = commaSplit(val);
          } else if (!val) {
            loc[name] = [];
          }
        });
      }
 
      // -- Value array build helpers
 
      function buildValueArray(name, mod, map, fn) {
        var field = name, all = [], setMap;
        if (!loc[field]) {
          field += 's';
        }
        if (!map) {
          map = {};
          setMap = true;
        }
        forAllAlternates(field, function(alt, j, i) {
          var idx = j * mod + i, val;
          val = fn ? fn(i) : i;
          map[alt] = val;
          map[alt.toLowerCase()] = val;
          all[idx] = alt;
        });
        loc[field] = all;
        if (setMap) {
          loc[name + 'Map'] = map;
        }
      }
 
      function forAllAlternates(field, fn) {
        forEach(loc[field], function(str, i) {
          forEachAlternate(str, function(alt, j) {
            fn(alt, j, i);
          });
        });
      }
 
      function forEachAlternate(str, fn) {
        var arr = map(str.split('+'), function(split) {
          return split.replace(/(.+):(.+)$/, function(full, base, suffixes) {
            return map(suffixes.split('|'), function(suffix) {
              return base + suffix;
            }).join('|');
          });
        }).join('|');
        forEach(arr.split('|'), fn);
      }
 
      function buildNumerals() {
        var map = {};
        buildValueArray('numeral', 10, map);
        buildValueArray('article', 1, map, function() {
          return 1;
        });
        buildValueArray('placeholder', 4, map, function(n) {
          return pow(10, n + 1);
        });
        loc.numeralMap = map;
      }
 
      function buildTimeFormats() {
        loc.parsingAliases['time'] = getTimeFormat();
        loc.parsingAliases['tzOffset'] = getTZOffsetFormat();
      }
 
      function getTimeFormat() {
        var src;
        Iif (loc.ampmFront) {
          // "ampmFront" exists mostly for CJK locales, which also presume that
          // time suffixes exist, allowing this to be a simpler regex.
          src = '{ampm?} {hour} (?:{minute} (?::?{second})?)?';
        } else Eif(loc.ampm.length) {
          src = '{hour}(?:[.:]{minute}(?:[.:]{second})? {ampm?}| {ampm})';
        } else {
          src = '{hour}(?:[.:]{minute}(?:[.:]{second})?)';
        }
        return src;
      }
 
      function getTZOffsetFormat() {
        return '(?:{Z}|{GMT?}(?:{tzSign}{tzHour}(?::?{tzMinute}(?: \\([\\w\\s]+\\))?)?)?)?';
      }
 
      function buildParsingTokens() {
        forEachProperty(LocalizedParsingTokens, function(token, name) {
          var src, arr;
          src = token.base ? ParsingTokens[token.base].src : token.src;
          if (token.requiresNumerals || loc.numeralUnits) {
            src += getNumeralSrc();
          }
          arr = loc[name + 's'];
          if (arr && arr.length) {
            src += '|' + arrayToRegAlternates(arr);
          }
          loc.parsingTokens[name] = src;
        });
      }
 
      function getNumeralSrc() {
        var all, src = '';
        all = loc.numerals.concat(loc.placeholders).concat(loc.articles);
        Iif (loc.allowsFullWidth) {
          all = all.concat(fullWidthNumbers.split(''));
        }
        Eif (all.length) {
          src = '|(?:' + arrayToRegAlternates(all) + ')+';
        }
        return src;
      }
 
      function buildTimeSuffixes() {
        iterateOverDateUnits(function(unit, i) {
          var token = loc.timeSuffixes[i];
          Iif (token) {
            loc[(unit.alias || unit.name) + 'Suffix'] = token;
          }
        });
      }
 
      function buildModifiers() {
        forEach(loc.modifiers, function(modifier) {
          var name = modifier.name, mapKey = name + 'Map', map;
          map = loc[mapKey] || {};
          forEachAlternate(modifier.src, function(alt, j) {
            var token = getOwn(loc.parsingTokens, name), val = modifier.value;
            map[alt] = val;
            loc.parsingTokens[name] = token ? token + '|' + alt : alt;
            if (modifier.name === 'sign' && j === 0) {
              // Hooking in here to set the first "fromNow" or "ago" modifier
              // directly on the locale, so that it can be reused in the
              // relative format.
              loc[val === 1 ? 'fromNow' : 'ago'] = alt;
            }
          });
          loc[mapKey] = map;
        });
      }
 
      // -- Format adding helpers
 
      function addCoreFormats() {
        forEach(CoreParsingFormats, function(df) {
          var src = df.src;
          if (df.mdy && loc.mdy) {
            // Use the mm/dd/yyyy variant if it
            // exists and the locale requires it
            src = df.mdy;
          }
          if (df.time) {
            // Core formats that allow time require the time
            // reg on both sides, so add both versions here.
            loc.addFormat(getFormatWithTime(src, true));
            loc.addFormat(getFormatWithTime(src));
          } else {
            loc.addFormat(src);
          }
        });
        loc.addFormat('{time}');
      }
 
      function addLocaleFormats() {
        addFormatSet('parse');
        addFormatSet('timeParse', true);
        addFormatSet('timeFrontParse', true, true);
      }
 
      function addFormatSet(field, allowTime, timeFront) {
        forEach(loc[field], function(format) {
          if (allowTime) {
            format = getFormatWithTime(format, timeFront);
          }
          loc.addFormat(format);
        });
      }
 
      function getFormatWithTime(baseFormat, timeBefore) {
        if (timeBefore) {
          return getTimeBefore() + baseFormat;
        }
        return baseFormat + getTimeAfter();
      }
 
      function getTimeBefore() {
        return getRegNonCapturing('{time}[,\\s\\u3000]', true);
      }
 
      function getTimeAfter() {
        var markers = ',?[\\s\\u3000]', localized;
        localized = arrayToRegAlternates(loc.timeMarkers);
        Eif (localized) {
          markers += '| (?:' + localized + ') ';
        }
        markers = getRegNonCapturing(markers, loc.timeMarkerOptional);
        return getRegNonCapturing(markers + '{time}', true);
      }
 
      initFormats();
      initDefinition();
      initArrayFields();
 
      buildValueArray('month', 12);
      buildValueArray('weekday', 7);
      buildValueArray('unit', 8);
      buildValueArray('ampm', 2);
 
      buildNumerals();
      buildTimeFormats();
      buildParsingTokens();
      buildTimeSuffixes();
      buildModifiers();
 
      // The order of these formats is important. Order is reversed so formats
      // that are initialized later will take precedence. Generally, this means
      // that more specific formats should come later.
      addCoreFormats();
      addLocaleFormats();
 
    }
 
  };
 
  return new Locale(def);
}
 
module.exports = getNewLocale;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getParsingTokenValue.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getParsingTokenValue.js

Statements: 15.38% (2 / 13)      Branches: 0% (0 / 10)      Functions: 0% (0 / 1)      Lines: 15.38% (2 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1                                 1  
'use strict';
 
function getParsingTokenValue(token, str) {
  var val;
  if (token.val) {
    val = token.val;
  } else if (token.sign) {
    val = str === '+' ? 1 : -1;
  } else if (token.bool) {
    val = !!val;
  } else {
    val = +str.replace(/,/, '.');
  }
  if (token.param === 'month') {
    val -= 1;
  }
  return val;
}
 
module.exports = getParsingTokenValue;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getParsingTokenWithSuffix.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getParsingTokenWithSuffix.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 30% (3 / 10)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getParsingTokenWithSuffix.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1                       1  
'use strict';
 
var LocalizedParsingTokens = require('../var/LocalizedParsingTokens'),
    getRegNonCapturing = require('./getRegNonCapturing');
 
function getParsingTokenWithSuffix(field, src, suffix) {
  var token = LocalizedParsingTokens[field];
  if (token.requiresSuffix) {
    src = getRegNonCapturing(src + getRegNonCapturing(suffix));
  } else if (token.requiresSuffixOr) {
    src += getRegNonCapturing(token.requiresSuffixOr + '|' + suffix);
  } else {
    src += getRegNonCapturing(suffix, true);
  }
  return src;
}
 
module.exports = getParsingTokenWithSuffix;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getRegNonCapturing.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getRegNonCapturing.js

Statements: 100% (7 / 7)      Branches: 75% (3 / 4)      Functions: 100% (1 / 1)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1 61 61   61 19   61     1  
'use strict';
 
function getRegNonCapturing(src, opt) {
  Eif (src.length > 1) {
    src = '(?:' + src + ')';
  }
  if (opt) {
    src += '?';
  }
  return src;
}
 
module.exports = getRegNonCapturing;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getTimeDistanceForUnit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getTimeDistanceForUnit.js

Statements: 14.29% (3 / 21)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 14.29% (3 / 21)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getTimeDistanceForUnit.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37    1       1                                                         1  
'use strict';
 
var trunc = require('../../common/var/trunc'),
    cloneDate = require('./cloneDate'),
    advanceDate = require('./advanceDate');
 
function getTimeDistanceForUnit(d1, d2, unit) {
  var fwd = d2 > d1, num, tmp;
  if (!fwd) {
    tmp = d2;
    d2  = d1;
    d1  = tmp;
  }
  num = d2 - d1;
  if (unit.multiplier > 1) {
    num = trunc(num / unit.multiplier);
  }
  // For higher order with potential ambiguity, use the numeric calculation
  // as a starting point, then iterate until we pass the target date.
  if (unit.ambiguous) {
    d1 = cloneDate(d1);
    if (num) {
      advanceDate(d1, unit.name, num);
    }
    while (d1 < d2) {
      advanceDate(d1, unit.name, 1);
      if (d1 > d2) {
        break;
      }
      num += 1;
    }
  }
  return fwd ? -num : num;
}
 
module.exports = getTimeDistanceForUnit;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getUTCOffset.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getUTCOffset.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1           1   1                 1  
'use strict';
 
var _utc = require('../../common/var/_utc'),
    trunc = require('../../common/var/trunc'),
    tzOffset = require('./tzOffset'),
    padNumber = require('../../common/internal/padNumber'),
    mathAliases = require('../../common/var/mathAliases');
 
var abs = mathAliases.abs;
 
function getUTCOffset(d, iso) {
  var offset = _utc(d) ? 0 : tzOffset(d), hours, mins, colon;
  colon  = iso === true ? ':' : '';
  if (!offset && iso) return 'Z';
  hours = padNumber(trunc(-offset / 60), 2, true);
  mins = padNumber(abs(offset % 60), 2);
  return  hours + colon + mins;
}
 
module.exports = getUTCOffset;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getUnitIndexForParamName.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getUnitIndexForParamName.js

Statements: 33.33% (3 / 9)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 33.33% (3 / 9)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getUnitIndexForParamName.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var iterateOverDateParams = require('./iterateOverDateParams');
 
function getUnitIndexForParamName(name) {
  var params = {}, unitIndex;
  params[name] = 1;
  iterateOverDateParams(params, function(name, val, unit, i) {
    unitIndex = i;
    return false;
  });
  return unitIndex;
}
 
module.exports = getUnitIndexForParamName;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekNumber.js

Statements: 22.22% (4 / 18)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 22.22% (4 / 18)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43    1                 1     1                                                     1  
'use strict';
 
var ISODefaults = require('../var/ISODefaults'),
    setDate = require('./setDate'),
    getDate = require('./getDate'),
    cloneDate = require('./cloneDate'),
    isUndefined = require('../../common/internal/isUndefined'),
    moveToEndOfWeek = require('./moveToEndOfWeek'),
    moveToBeginningOfWeek = require('./moveToBeginningOfWeek'),
    moveToFirstDayOfWeekYear = require('./moveToFirstDayOfWeekYear');
 
var ISO_FIRST_DAY_OF_WEEK = ISODefaults.ISO_FIRST_DAY_OF_WEEK,
    ISO_FIRST_DAY_OF_WEEK_YEAR = ISODefaults.ISO_FIRST_DAY_OF_WEEK_YEAR;
 
function getWeekNumber(d, allowPrevious, firstDayOfWeek, firstDayOfWeekYear) {
  var isoWeek, n = 0;
  if (isUndefined(firstDayOfWeek)) {
    firstDayOfWeek = ISO_FIRST_DAY_OF_WEEK;
  }
  if (isUndefined(firstDayOfWeekYear)) {
    firstDayOfWeekYear = ISO_FIRST_DAY_OF_WEEK_YEAR;
  }
  // Moving to the end of the week allows for forward year traversal, ie
  // Dec 29 2014 is actually week 01 of 2015.
  isoWeek = moveToEndOfWeek(cloneDate(d), firstDayOfWeek);
  moveToFirstDayOfWeekYear(isoWeek, firstDayOfWeek, firstDayOfWeekYear);
  if (allowPrevious && d < isoWeek) {
    // If the date is still before the start of the year, then it should be
    // the last week of the previous year, ie Jan 1 2016 is actually week 53
    // of 2015, so move to the beginning of the week to traverse the year.
    isoWeek = moveToBeginningOfWeek(cloneDate(d), firstDayOfWeek);
    moveToFirstDayOfWeekYear(isoWeek, firstDayOfWeek, firstDayOfWeekYear);
  }
  while (isoWeek <= d) {
    // Doing a very simple walk to get the week number.
    setDate(isoWeek, getDate(isoWeek) + 7);
    n++;
  }
  return n;
}
 
module.exports = getWeekNumber;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekYear.js

Statements: 22.22% (4 / 18)      Branches: 0% (0 / 14)      Functions: 0% (0 / 1)      Lines: 22.22% (4 / 18)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    1         1   1                                       1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    getYear = require('./getYear'),
    getMonth = require('./getMonth'),
    getWeekNumber = require('./getWeekNumber');
 
var localeManager = LocaleHelpers.localeManager;
 
function getWeekYear(d, localeCode, iso) {
  var year, month, firstDayOfWeek, firstDayOfWeekYear, week, loc;
  year = getYear(d);
  month = getMonth(d);
  if (month === 0 || month === 11) {
    if (!iso) {
      loc = localeManager.get(localeCode);
      firstDayOfWeek = loc.getFirstDayOfWeek(localeCode);
      firstDayOfWeekYear = loc.getFirstDayOfWeekYear(localeCode);
    }
    week = getWeekNumber(d, false, firstDayOfWeek, firstDayOfWeekYear);
    if (month === 0 && week === 0) {
      year -= 1;
    } else if (month === 11 && week === 1) {
      year += 1;
    }
  }
  return year;
}
 
module.exports = getWeekYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getWeekday.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateGet = require('../../common/internal/callDateGet');
 
function getWeekday(d) {
  return callDateGet(d, 'Day');
}
 
module.exports = getWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getYear.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateGet = require('../../common/internal/callDateGet');
 
function getYear(d) {
  return callDateGet(d, 'FullYear');
}
 
module.exports = getYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/getYearFromAbbreviation.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/getYearFromAbbreviation.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 36.36% (4 / 11)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » getYearFromAbbreviation.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1     1   1                             1  
'use strict';
 
var getYear = require('./getYear'),
    mathAliases = require('../../common/var/mathAliases');
 
var abs = mathAliases.abs;
 
function getYearFromAbbreviation(str, d, prefer) {
  // Following IETF here, adding 1900 or 2000 depending on the last two digits.
  // Note that this makes no accordance for what should happen after 2050, but
  // intentionally ignoring this for now. https://www.ietf.org/rfc/rfc2822.txt
  var val = +str, delta;
  val += val < 50 ? 2000 : 1900;
  if (prefer) {
    delta = val - getYear(d);
    if (delta / abs(delta) !== prefer) {
      val += prefer * 100;
    }
  }
  return val;
}
 
module.exports = getYearFromAbbreviation;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/isUTC.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/isUTC.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var _utc = require('../../common/var/_utc'),
    tzOffset = require('./tzOffset');
 
function isUTC(d) {
  return !!_utc(d) || tzOffset(d) === 0;
}
 
module.exports = isUTC;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverDateParams.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverDateParams.js

Statements: 38.46% (5 / 13)      Branches: 0% (0 / 6)      Functions: 0% (0 / 3)      Lines: 38.46% (5 / 13)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » iterateOverDateParams.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33    1         1   1   1                                       1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes'),
    isDefined = require('../../common/internal/isDefined'),
    getDateParam = require('./getDateParam'),
    iterateOverDateUnits = require('./iterateOverDateUnits');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX;
 
function iterateOverDateParams(params, fn, startIndex, endIndex) {
 
  function run(name, unit, i) {
    var val = getDateParam(params, name);
    if (isDefined(val)) {
      fn(name, val, unit, i);
    }
  }
 
  iterateOverDateUnits(function (unit, i) {
    var result = run(unit.name, unit, i);
    if (result !== false && i === DAY_INDEX) {
      // Check for "weekday", which has a distinct meaning
      // in the context of setting a date, but has the same
      // meaning as "day" as a unit of time.
      result = run('weekday', unit, i);
    }
    return result;
  }, startIndex, endIndex);
 
}
 
module.exports = iterateOverDateParams;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverDateUnits.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverDateUnits.js

Statements: 90% (9 / 10)      Branches: 66.67% (4 / 6)      Functions: 100% (1 / 1)      Lines: 90% (9 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1       1   1 1 1 1   1 8           1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    isUndefined = require('../../common/internal/isUndefined');
 
var YEAR_INDEX = DateUnitIndexes.YEAR_INDEX;
 
function iterateOverDateUnits(fn, startIndex, endIndex) {
  endIndex = endIndex || 0;
  Eif (isUndefined(startIndex)) {
    startIndex = YEAR_INDEX;
  }
  for (var index = startIndex; index >= endIndex; index--) {
    Iif (fn(DateUnits[index], index) === false) {
      break;
    }
  }
}
 
module.exports = iterateOverDateUnits;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverHigherDateParams.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/iterateOverHigherDateParams.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » iterateOverHigherDateParams.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1     1     1       1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes'),
    iterateOverDateParams = require('./iterateOverDateParams');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX,
    YEAR_INDEX = DateUnitIndexes.YEAR_INDEX;
 
function iterateOverHigherDateParams(params, fn) {
  iterateOverDateParams(params, fn, YEAR_INDEX, DAY_INDEX);
}
 
module.exports = iterateOverHigherDateParams;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToBeginningOfUnit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToBeginningOfUnit.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » moveToBeginningOfUnit.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1           1     1             1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    getLowerUnitIndex = require('./getLowerUnitIndex'),
    moveToBeginningOfWeek = require('./moveToBeginningOfWeek'),
    setUnitAndLowerToEdge = require('./setUnitAndLowerToEdge');
 
var WEEK_INDEX = DateUnitIndexes.WEEK_INDEX,
    localeManager = LocaleHelpers.localeManager;
 
function moveToBeginningOfUnit(d, unitIndex, localeCode) {
  if (unitIndex === WEEK_INDEX) {
    moveToBeginningOfWeek(d, localeManager.get(localeCode).getFirstDayOfWeek());
  }
  return setUnitAndLowerToEdge(d, getLowerUnitIndex(unitIndex));
}
 
module.exports = moveToBeginningOfUnit;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToBeginningOfWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToBeginningOfWeek.js

Statements: 66.67% (4 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » moveToBeginningOfWeek.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1       1   1         1  
'use strict';
 
var setWeekday = require('./setWeekday'),
    getWeekday = require('./getWeekday'),
    mathAliases = require('../../common/var/mathAliases');
 
var floor = mathAliases.floor;
 
function moveToBeginningOfWeek(d, firstDayOfWeek) {
  setWeekday(d, floor((getWeekday(d) - firstDayOfWeek) / 7) * 7 + firstDayOfWeek);
  return d;
}
 
module.exports = moveToBeginningOfWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToEndOfUnit.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToEndOfUnit.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1           1     1             1  
'use strict';
 
var LocaleHelpers = require('../var/LocaleHelpers'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    moveToEndOfWeek = require('./moveToEndOfWeek'),
    getLowerUnitIndex = require('./getLowerUnitIndex'),
    setUnitAndLowerToEdge = require('./setUnitAndLowerToEdge');
 
var WEEK_INDEX = DateUnitIndexes.WEEK_INDEX,
    localeManager = LocaleHelpers.localeManager;
 
function moveToEndOfUnit(d, unitIndex, localeCode, stopIndex) {
  if (unitIndex === WEEK_INDEX) {
    moveToEndOfWeek(d, localeManager.get(localeCode).getFirstDayOfWeek());
  }
  return setUnitAndLowerToEdge(d, getLowerUnitIndex(unitIndex), stopIndex, true);
}
 
module.exports = moveToEndOfUnit;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToEndOfWeek.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToEndOfWeek.js

Statements: 57.14% (4 / 7)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1   1           1  
'use strict';
 
var setWeekday = require('./setWeekday'),
    getWeekday = require('./getWeekday'),
    mathAliases = require('../../common/var/mathAliases');
 
var ceil = mathAliases.ceil;
 
function moveToEndOfWeek(d, firstDayOfWeek) {
  var target = firstDayOfWeek - 1;
  setWeekday(d, ceil((getWeekday(d) - target) / 7) * 7 + target);
  return d;
}
 
module.exports = moveToEndOfWeek;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToFirstDayOfWeekYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/moveToFirstDayOfWeekYear.js

Statements: 57.14% (4 / 7)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » moveToFirstDayOfWeekYear.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1         1   1           1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes'),
    setDate = require('./setDate'),
    setUnitAndLowerToEdge = require('./setUnitAndLowerToEdge'),
    moveToBeginningOfWeek = require('./moveToBeginningOfWeek');
 
var MONTH_INDEX = DateUnitIndexes.MONTH_INDEX;
 
function moveToFirstDayOfWeekYear(d, firstDayOfWeek, firstDayOfWeekYear) {
  setUnitAndLowerToEdge(d, MONTH_INDEX);
  setDate(d, firstDayOfWeekYear);
  moveToBeginningOfWeek(d, firstDayOfWeek);
}
 
module.exports = moveToFirstDayOfWeekYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/resetLowerUnits.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/resetLowerUnits.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var getLowerUnitIndex = require('./getLowerUnitIndex'),
    setUnitAndLowerToEdge = require('./setUnitAndLowerToEdge');
 
function resetLowerUnits(d, unitIndex) {
  return setUnitAndLowerToEdge(d, getLowerUnitIndex(unitIndex));
}
 
module.exports = resetLowerUnits;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/resetTime.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/resetTime.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1   1       1  
'use strict';
 
var DateUnitIndexes = require('../var/DateUnitIndexes'),
    setUnitAndLowerToEdge = require('./setUnitAndLowerToEdge');
 
var HOURS_INDEX = DateUnitIndexes.HOURS_INDEX;
 
function resetTime(d) {
  return setUnitAndLowerToEdge(d, HOURS_INDEX);
}
 
module.exports = resetTime;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setDate.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateSet = require('../../common/internal/callDateSet');
 
function setDate(d, val) {
  callDateSet(d, 'Date', val);
}
 
module.exports = setDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setDateChainableConstructor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setDateChainableConstructor.js

Statements: 100% (5 / 5)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (5 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » setDateChainableConstructor.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1       1   1 1     1  
'use strict';
 
var createDate = require('./createDate'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    setChainableConstructor = require('../../common/internal/setChainableConstructor');
 
var sugarDate = namespaceAliases.sugarDate;
 
function setDateChainableConstructor() {
  setChainableConstructor(sugarDate, createDate);
}
 
module.exports = setDateChainableConstructor;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setISOWeekNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setISOWeekNumber.js

Statements: 30.77% (4 / 13)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35    1                         1       1                           1  
'use strict';
 
var ISODefaults = require('../var/ISODefaults'),
    getDate = require('./getDate'),
    setDate = require('./setDate'),
    setYear = require('./setYear'),
    getYear = require('./getYear'),
    getMonth = require('./getMonth'),
    setMonth = require('./setMonth'),
    cloneDate = require('./cloneDate'),
    getWeekday = require('./getWeekday'),
    setWeekday = require('./setWeekday'),
    classChecks = require('../../common/var/classChecks'),
    moveToFirstDayOfWeekYear = require('./moveToFirstDayOfWeekYear');
 
var isNumber = classChecks.isNumber,
    ISO_FIRST_DAY_OF_WEEK = ISODefaults.ISO_FIRST_DAY_OF_WEEK,
    ISO_FIRST_DAY_OF_WEEK_YEAR = ISODefaults.ISO_FIRST_DAY_OF_WEEK_YEAR;
 
function setISOWeekNumber(d, num) {
  if (isNumber(num)) {
    // Intentionally avoiding updateDate here to prevent circular dependencies.
    var isoWeek = cloneDate(d), dow = getWeekday(d);
    moveToFirstDayOfWeekYear(isoWeek, ISO_FIRST_DAY_OF_WEEK, ISO_FIRST_DAY_OF_WEEK_YEAR);
    setDate(isoWeek, getDate(isoWeek) + 7 * (num - 1));
    setYear(d, getYear(isoWeek));
    setMonth(d, getMonth(isoWeek));
    setDate(d, getDate(isoWeek));
    setWeekday(d, dow || 7);
  }
  return d.getTime();
}
 
module.exports = setISOWeekNumber;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setMonth.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setMonth.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateSet = require('../../common/internal/callDateSet');
 
function setMonth(d, val) {
  callDateSet(d, 'Month', val);
}
 
module.exports = setMonth;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setUnitAndLowerToEdge.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setUnitAndLowerToEdge.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/internal/ » setUnitAndLowerToEdge.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    1         1   1                       1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    classChecks = require('../../common/var/classChecks'),
    callDateSet = require('../../common/internal/callDateSet'),
    walkUnitDown = require('./walkUnitDown');
 
var isFunction = classChecks.isFunction;
 
function setUnitAndLowerToEdge(d, startIndex, stopIndex, end) {
  walkUnitDown(startIndex, function(unit, i) {
    var val = end ? unit.end : unit.start;
    if (isFunction(val)) {
      val = val(d);
    }
    callDateSet(d, unit.method, val);
    return !isDefined(stopIndex) || i > stopIndex;
  });
  return d;
}
 
module.exports = setUnitAndLowerToEdge;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setWeekday.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setWeekday.js

Statements: 28.57% (4 / 14)      Branches: 0% (0 / 10)      Functions: 0% (0 / 1)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29    1           1     1                               1  
'use strict';
 
var setDate = require('./setDate'),
    getDate = require('./getDate'),
    getWeekday = require('./getWeekday'),
    classChecks = require('../../common/var/classChecks'),
    mathAliases = require('../../common/var/mathAliases');
 
var isNumber = classChecks.isNumber,
    abs = mathAliases.abs;
 
function setWeekday(d, dow, dir) {
  if (!isNumber(dow)) return;
  var currentWeekday = getWeekday(d);
  if (dir) {
    // Allow a "direction" parameter to determine whether a weekday can
    // be set beyond the current weekday in either direction.
    var ndir = dir > 0 ? 1 : -1;
    var offset = dow % 7 - currentWeekday;
    if (offset && offset / abs(offset) !== ndir) {
      dow += 7 * ndir;
    }
  }
  setDate(d, getDate(d) + dow - currentWeekday);
  return d.getTime();
}
 
module.exports = setWeekday;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/setYear.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/setYear.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var callDateSet = require('../../common/internal/callDateSet');
 
function setYear(d, val) {
  callDateSet(d, 'FullYear', val);
}
 
module.exports = setYear;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/tzOffset.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/tzOffset.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function tzOffset(d) {
  return d.getTimezoneOffset();
}
 
module.exports = tzOffset;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/updateDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/updateDate.js

Statements: 16.18% (11 / 68)      Branches: 0% (0 / 50)      Functions: 0% (0 / 8)      Lines: 16.18% (11 / 68)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173    1                                 1             1     1                   1                 1                   1           1               1             1                                                                                                                                                                                       1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    DateUnitIndexes = require('../var/DateUnitIndexes'),
    trunc = require('../../common/var/trunc'),
    setDate = require('./setDate'),
    getDate = require('./getDate'),
    getMonth = require('./getMonth'),
    getNewDate = require('./getNewDate'),
    setWeekday = require('./setWeekday'),
    mathAliases = require('../../common/var/mathAliases'),
    callDateGet = require('../../common/internal/callDateGet'),
    classChecks = require('../../common/var/classChecks'),
    resetLowerUnits = require('./resetLowerUnits'),
    getLowerUnitIndex = require('./getLowerUnitIndex'),
    getHigherUnitIndex = require('./getHigherUnitIndex'),
    callDateSetWithWeek = require('./callDateSetWithWeek'),
    iterateOverDateParams = require('./iterateOverDateParams');
 
var DAY_INDEX = DateUnitIndexes.DAY_INDEX,
    WEEK_INDEX = DateUnitIndexes.WEEK_INDEX,
    MONTH_INDEX = DateUnitIndexes.MONTH_INDEX,
    YEAR_INDEX = DateUnitIndexes.YEAR_INDEX,
    round = mathAliases.round,
    isNumber = classChecks.isNumber;
 
function updateDate(d, params, reset, advance, prefer, weekdayDir) {
  var upperUnitIndex;
 
  function setUpperUnit(unitName, unitIndex) {
    if (prefer && !upperUnitIndex) {
      if (unitName === 'weekday') {
        upperUnitIndex = WEEK_INDEX;
      } else {
        upperUnitIndex = getHigherUnitIndex(unitIndex);
      }
    }
  }
 
  function setSpecificity(unitIndex) {
    // Other functions may preemptively set the specificity before arriving
    // here so concede to them if they have already set more specific units.
    if (unitIndex > params.specificity) {
      return;
    }
    params.specificity = unitIndex;
  }
 
  function canDisambiguate() {
    if (!upperUnitIndex || upperUnitIndex > YEAR_INDEX) {
      return;
    }
    switch(prefer) {
      case -1: return d > getNewDate();
      case  1: return d < getNewDate();
    }
  }
 
  function disambiguateHigherUnit() {
    var unit = DateUnits[upperUnitIndex];
    advance = prefer;
    setUnit(unit.name, 1, unit, upperUnitIndex);
  }
 
  function handleFraction(unit, unitIndex, fraction) {
    if (unitIndex) {
      var lowerUnit = DateUnits[getLowerUnitIndex(unitIndex)];
      var val = round(unit.multiplier / lowerUnit.multiplier * fraction);
      params[lowerUnit.name] = val;
    }
  }
 
  function monthHasShifted(d, targetMonth) {
    if (targetMonth < 0) {
      targetMonth = targetMonth % 12 + 12;
    }
    return targetMonth % 12 !== getMonth(d);
  }
 
  function setUnit(unitName, value, unit, unitIndex) {
    var method = unit.method, checkMonth, fraction;
 
    setUpperUnit(unitName, unitIndex);
    setSpecificity(unitIndex);
 
    fraction = value % 1;
    if (fraction) {
      handleFraction(unit, unitIndex, fraction);
      value = trunc(value);
    }
 
    if (unitName === 'weekday') {
      if (!advance) {
        // Weekdays are always considered absolute units so simply set them
        // here even if it is an "advance" operation. This is to help avoid
        // ambiguous meanings in "advance" as well as to neatly allow formats
        // like "Wednesday of next week" without more complex logic.
        setWeekday(d, value, weekdayDir);
      }
      return;
    }
    checkMonth = unitIndex === MONTH_INDEX && getDate(d) > 28;
 
    // If we are advancing or rewinding, then we need we need to set the
    // absolute time if the unit is "hours" or less. This is due to the fact
    // that setting by method is ambiguous during DST shifts. For example,
    // 1:00am on November 1st 2015 occurs twice in North American timezones
    // with DST, the second time being after the clocks are rolled back at
    // 2:00am. When springing forward this is automatically handled as there
    // is no 2:00am so the date automatically jumps to 3:00am. However, when
    // rolling back, setHours(2) will always choose the first "2am" even if
    // the date is currently set to the second, causing unintended jumps.
    // This ambiguity is unavoidable when setting dates as the notation is
    // ambiguous. However when advancing, we clearly want the resulting date
    // to be an acutal hour ahead, which can only be accomplished by setting
    // the absolute time. Conversely, any unit higher than "hours" MUST use
    // the internal set methods, as they are ambiguous as absolute units of
    // time. Years may be 365 or 366 days depending on leap years, months are
    // all over the place, and even days may be 23-25 hours depending on DST
    // shifts. Finally, note that the kind of jumping described above will
    // occur when calling ANY "set" method on the date and will occur even if
    // the value being set is identical to the one currently set (i.e.
    // setHours(2) on a date at 2am may not be a noop). This is precarious,
    // so avoiding this situation in callDateSet by checking up front that
    // the value is not the same before setting.
    if (advance && !unit.ambiguous) {
      d.setTime(d.getTime() + (value * advance * unit.multiplier));
      return;
    } else if (advance) {
      if (unitIndex === WEEK_INDEX) {
        value *= 7;
        method = DateUnits[DAY_INDEX].method;
      }
      value = (value * advance) + callDateGet(d, method);
    }
    callDateSetWithWeek(d, method, value, advance);
    if (checkMonth && monthHasShifted(d, value)) {
      // As we are setting the units in reverse order, there is a chance that
      // our date may accidentally traverse into a new month, such as setting
      // { month: 1, date 15 } on January 31st. Check for this here and reset
      // the date to the last day of the previous month if this has happened.
      setDate(d, 0);
    }
  }
 
  if (isNumber(params) && advance) {
    // If param is a number and advancing, the number is in milliseconds.
    params = { millisecond: params };
  } else if (isNumber(params)) {
    // Otherwise just set the timestamp and return.
    d.setTime(params);
    return d;
  }
 
  iterateOverDateParams(params, setUnit);
 
  if (reset && params.specificity) {
    resetLowerUnits(d, params.specificity);
  }
 
  // If past or future is preferred, then the process of "disambiguation" will
  // ensure that an ambiguous time/date ("4pm", "thursday", "June", etc.) will
  // be in the past or future. Weeks are only considered ambiguous if there is
  // a weekday, i.e. "thursday" is an ambiguous week, but "the 4th" is an
  // ambiguous month.
  if (canDisambiguate()) {
    disambiguateHigherUnit();
  }
  return d;
}
 
module.exports = updateDate;
 
Code coverage report for node-npmtest-sugar/sugar/date/internal/walkUnitDown.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/internal/walkUnitDown.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var DateUnits = require('../var/DateUnits'),
    getLowerUnitIndex = require('./getLowerUnitIndex');
 
function walkUnitDown(unitIndex, fn) {
  while (unitIndex >= 0) {
    if (fn(DateUnits[unitIndex], unitIndex) === false) {
      break;
    }
    unitIndex = getLowerUnitIndex(unitIndex);
  }
}
 
module.exports = walkUnitDown;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/

Statements: 66.84% (127 / 190)      Branches: 46.15% (24 / 52)      Functions: 27.69% (18 / 65)      Lines: 66.84% (127 / 190)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/
File Statements Branches Functions Lines
AmericanEnglishDefinition.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
BritishEnglishDefinition.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
CanadianEnglishDefinition.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
CoreOutputFormats.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
CoreParsingFormats.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
DATE_OPTIONS.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
DateUnitIndexes.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
DateUnits.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
EnglishLocaleBaseDefinition.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
FormatTokensBase.js 10.26% (4 / 39) 0% (0 / 6) 0% (0 / 32) 10.26% (4 / 39)
ISODefaults.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
LOCALE_ARRAY_FIELDS.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
LazyLoadedLocales.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
LocaleHelpers.js 55.88% (19 / 34) 13.64% (3 / 22) 42.86% (3 / 7) 55.88% (19 / 34)
LocalizedParsingTokens.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
MINUTES.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
ParsingTokens.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
TIMEZONE_ABBREVIATION_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
_dateOptions.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
formattingTokens.js 84.81% (67 / 79) 87.5% (21 / 24) 60% (15 / 25) 84.81% (67 / 79)
Code coverage report for node-npmtest-sugar/sugar/date/var/AmericanEnglishDefinition.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/AmericanEnglishDefinition.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » AmericanEnglishDefinition.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1   1                       1  
'use strict';
 
var getEnglishVariant = require('../internal/getEnglishVariant');
 
var AmericanEnglishDefinition = getEnglishVariant({
  'mdy': true,
  'firstDayOfWeek': 0,
  'firstDayOfWeekYear': 1,
  'short':  '{MM}/{dd}/{yyyy}',
  'medium': '{Month} {d}, {yyyy}',
  'long':   '{Month} {d}, {yyyy} {time}',
  'full':   '{Weekday}, {Month} {d}, {yyyy} {time}',
  'stamp':  '{Dow} {Mon} {d} {yyyy} {time}',
  'time':   '{h}:{mm} {TT}'
});
 
module.exports = AmericanEnglishDefinition;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/BritishEnglishDefinition.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/BritishEnglishDefinition.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » BritishEnglishDefinition.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var getEnglishVariant = require('../internal/getEnglishVariant');
 
var BritishEnglishDefinition = getEnglishVariant({
  'short':  '{dd}/{MM}/{yyyy}',
  'medium': '{d} {Month} {yyyy}',
  'long':   '{d} {Month} {yyyy} {H}:{mm}',
  'full':   '{Weekday}, {d} {Month}, {yyyy} {time}',
  'stamp':  '{Dow} {d} {Mon} {yyyy} {time}'
});
 
module.exports = BritishEnglishDefinition;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/CanadianEnglishDefinition.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/CanadianEnglishDefinition.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » CanadianEnglishDefinition.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var getEnglishVariant = require('../internal/getEnglishVariant');
 
var CanadianEnglishDefinition = getEnglishVariant({
  'short':  '{yyyy}-{MM}-{dd}',
  'medium': '{d} {Month}, {yyyy}',
  'long':   '{d} {Month}, {yyyy} {H}:{mm}',
  'full':   '{Weekday}, {d} {Month}, {yyyy} {time}',
  'stamp':  '{Dow} {d} {Mon} {yyyy} {time}'
});
 
module.exports = CanadianEnglishDefinition;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/CoreOutputFormats.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/CoreOutputFormats.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
var CoreOutputFormats = {
  'ISO8601': '{yyyy}-{MM}-{dd}T{HH}:{mm}:{ss}.{SSS}{Z}',
  'RFC1123': '{Dow}, {dd} {Mon} {yyyy} {HH}:{mm}:{ss} {ZZ}',
  'RFC1036': '{Weekday}, {dd}-{Mon}-{yy} {HH}:{mm}:{ss} {ZZ}'
};
 
module.exports = CoreOutputFormats;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/CoreParsingFormats.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/CoreParsingFormats.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » CoreParsingFormats.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32    1                                                       1  
'use strict';
 
var CoreParsingFormats = [
  {
    // 12-1978
    // 08-1978 (MDY)
    src: '{MM}[-.\\/]{yyyy}'
  },
  {
    // 12/08/1978
    // 08/12/1978 (MDY)
    time: true,
    src: '{dd}[-.\\/]{MM}(?:[-.\\/]{yyyy|yy|y})?',
    mdy: '{MM}[-.\\/]{dd}(?:[-.\\/]{yyyy|yy|y})?'
  },
  {
    // 1975-08-25
    time: true,
    src: '{yyyy}[-.\\/]{MM}(?:[-.\\/]{dd})?'
  },
  {
    // .NET JSON
    src: '\\\\/Date\\({timestamp}(?:[+-]\\d{4,4})?\\)\\\\/'
  },
  {
    // ISO-8601
    src: '{yearSign?}{yyyy}(?:-?{MM}(?:-?{dd}(?:T{ihh}(?::?{imm}(?::?{ss})?)?)?)?)?{tzOffset?}'
  }
];
 
module.exports = CoreParsingFormats;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/DATE_OPTIONS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/DATE_OPTIONS.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var defaultNewDate = require('../internal/defaultNewDate');
 
var DATE_OPTIONS = {
  'newDateInternal': defaultNewDate
};
 
module.exports = DATE_OPTIONS;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/DateUnitIndexes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/DateUnitIndexes.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1              
'use strict';
 
module.exports = {
  HOURS_INDEX: 3,
  DAY_INDEX: 4,
  WEEK_INDEX: 5,
  MONTH_INDEX: 6,
  YEAR_INDEX: 7
};
 
Code coverage report for node-npmtest-sugar/sugar/date/var/DateUnits.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/DateUnits.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69    1   1                                                                                                                             1  
'use strict';
 
var getDaysInMonth = require('../internal/getDaysInMonth');
 
var DateUnits = [
  {
    name: 'millisecond',
    method: 'Milliseconds',
    multiplier: 1,
    start: 0,
    end: 999
  },
  {
    name: 'second',
    method: 'Seconds',
    multiplier: 1000,
    start: 0,
    end: 59
  },
  {
    name: 'minute',
    method: 'Minutes',
    multiplier: 60 * 1000,
    start: 0,
    end: 59
  },
  {
    name: 'hour',
    method: 'Hours',
    multiplier: 60 * 60 * 1000,
    start: 0,
    end: 23
  },
  {
    name: 'day',
    alias: 'date',
    method: 'Date',
    ambiguous: true,
    multiplier: 24 * 60 * 60 * 1000,
    start: 1,
    end: function(d) {
      return getDaysInMonth(d);
    }
  },
  {
    name: 'week',
    method: 'ISOWeek',
    ambiguous: true,
    multiplier: 7 * 24 * 60 * 60 * 1000
  },
  {
    name: 'month',
    method: 'Month',
    ambiguous: true,
    multiplier: 30.4375 * 24 * 60 * 60 * 1000,
    start: 0,
    end: 11
  },
  {
    name: 'year',
    method: 'FullYear',
    ambiguous: true,
    multiplier: 365.25 * 24 * 60 * 60 * 1000,
    start: 0
  }
];
 
module.exports = DateUnits;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/EnglishLocaleBaseDefinition.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/EnglishLocaleBaseDefinition.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » EnglishLocaleBaseDefinition.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67    1                                                                                                                             1  
'use strict';
 
var EnglishLocaleBaseDefinition = {
  'code': 'en',
  'plural': true,
  'timeMarkers': 'at',
  'ampm': 'AM|A.M.|a,PM|P.M.|p',
  'units': 'millisecond:|s,second:|s,minute:|s,hour:|s,day:|s,week:|s,month:|s,year:|s',
  'months': 'Jan:uary|,Feb:ruary|,Mar:ch|,Apr:il|,May,Jun:e|,Jul:y|,Aug:ust|,Sep:tember|t|,Oct:ober|,Nov:ember|,Dec:ember|',
  'weekdays': 'Sun:day|,Mon:day|,Tue:sday|,Wed:nesday|,Thu:rsday|,Fri:day|,Sat:urday|+weekend',
  'numerals': 'zero,one|first,two|second,three|third,four:|th,five|fifth,six:|th,seven:|th,eight:|h,nin:e|th,ten:|th',
  'articles': 'a,an,the',
  'tokens': 'the,st|nd|rd|th,of|in,a|an,on',
  'time': '{H}:{mm}',
  'past': '{num} {unit} {sign}',
  'future': '{num} {unit} {sign}',
  'duration': '{num} {unit}',
  'modifiers': [
    { 'name': 'half',   'src': 'half', 'value': .5 },
    { 'name': 'midday', 'src': 'noon', 'value': 12 },
    { 'name': 'midday', 'src': 'midnight', 'value': 24 },
    { 'name': 'day',    'src': 'yesterday', 'value': -1 },
    { 'name': 'day',    'src': 'today|tonight', 'value': 0 },
    { 'name': 'day',    'src': 'tomorrow', 'value': 1 },
    { 'name': 'sign',   'src': 'ago|before', 'value': -1 },
    { 'name': 'sign',   'src': 'from now|after|from|in|later', 'value': 1 },
    { 'name': 'edge',   'src': 'first day|first|beginning', 'value': -2 },
    { 'name': 'edge',   'src': 'last day', 'value': 1 },
    { 'name': 'edge',   'src': 'end|last', 'value': 2 },
    { 'name': 'shift',  'src': 'last', 'value': -1 },
    { 'name': 'shift',  'src': 'the|this', 'value': 0 },
    { 'name': 'shift',  'src': 'next', 'value': 1 }
  ],
  'parse': [
    '(?:just)? now',
    '{shift} {unit:5-7}',
    "{months?} (?:{year}|'{yy})",
    '{midday} {4?} {day|weekday}',
    '{months},?(?:[-.\\/\\s]{year})?',
    '{edge} of (?:day)? {day|weekday}',
    '{0} {num}{1?} {weekday} {2} {months},? {year?}',
    '{shift?} {day?} {weekday?} {timeMarker?} {midday}',
    '{sign?} {3?} {half} {3?} {unit:3-4|unit:7} {sign?}',
    '{0?} {edge} {weekday?} {2} {shift?} {unit:4-7?} {months?},? {year?}'
  ],
  'timeParse': [
    '{day|weekday}',
    '{shift} {unit:5?} {weekday}',
    '{0?} {date}{1?} {2?} {months?}',
    '{weekday} {2?} {shift} {unit:5}',
    '{0?} {num} {2?} {months}\\.?,? {year?}',
    '{num?} {unit:4-5} {sign} {day|weekday}',
    '{year}[-.\\/\\s]{months}[-.\\/\\s]{date}',
    '{0|months} {date?}{1?} of {shift} {unit:6-7}',
    '{0?} {num}{1?} {weekday} of {shift} {unit:6}',
    "{date}[-.\\/\\s]{months}[-.\\/\\s](?:{year}|'?{yy})",
    "{weekday?}\\.?,? {months}\\.?,? {date}{1?},? (?:{year}|'{yy})?"
  ],
  'timeFrontParse': [
    '{sign} {num} {unit}',
    '{num} {unit} {sign}',
    '{4?} {day|weekday}'
  ]
};
 
module.exports = EnglishLocaleBaseDefinition;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/FormatTokensBase.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/FormatTokensBase.js

Statements: 10.26% (4 / 39)      Branches: 0% (0 / 6)      Functions: 0% (0 / 32)      Lines: 10.26% (4 / 39)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328    1                                       1       1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       1  
'use strict';
 
var TIMEZONE_ABBREVIATION_REG = require('./TIMEZONE_ABBREVIATION_REG'),
    LocaleHelpers = require('./LocaleHelpers'),
    DateUnitIndexes = require('./DateUnitIndexes'),
    trunc = require('../../common/var/trunc'),
    getDate = require('../internal/getDate'),
    getYear = require('../internal/getYear'),
    getHours = require('../internal/getHours'),
    getMonth = require('../internal/getMonth'),
    cloneDate = require('../internal/cloneDate'),
    padNumber = require('../../common/internal/padNumber'),
    getWeekday = require('../internal/getWeekday'),
    callDateGet = require('../../common/internal/callDateGet'),
    mathAliases = require('../../common/var/mathAliases'),
    getWeekYear = require('../internal/getWeekYear'),
    getUTCOffset = require('../internal/getUTCOffset'),
    getDaysSince = require('../internal/getDaysSince'),
    getWeekNumber = require('../internal/getWeekNumber'),
    getMeridiemToken = require('../internal/getMeridiemToken'),
    setUnitAndLowerToEdge = require('../internal/setUnitAndLowerToEdge');
 
var localeManager = LocaleHelpers.localeManager,
    MONTH_INDEX = DateUnitIndexes.MONTH_INDEX,
    ceil = mathAliases.ceil;
 
var FormatTokensBase = [
  {
    ldml: 'Dow',
    strf: 'a',
    lowerToken: 'dow',
    get: function(d, localeCode) {
      return localeManager.get(localeCode).getWeekdayName(getWeekday(d), 2);
    }
  },
  {
    ldml: 'Weekday',
    strf: 'A',
    lowerToken: 'weekday',
    allowAlternates: true,
    get: function(d, localeCode, alternate) {
      return localeManager.get(localeCode).getWeekdayName(getWeekday(d), alternate);
    }
  },
  {
    ldml: 'Mon',
    strf: 'b h',
    lowerToken: 'mon',
    get: function(d, localeCode) {
      return localeManager.get(localeCode).getMonthName(getMonth(d), 2);
    }
  },
  {
    ldml: 'Month',
    strf: 'B',
    lowerToken: 'month',
    allowAlternates: true,
    get: function(d, localeCode, alternate) {
      return localeManager.get(localeCode).getMonthName(getMonth(d), alternate);
    }
  },
  {
    strf: 'C',
    get: function(d) {
      return getYear(d).toString().slice(0, 2);
    }
  },
  {
    ldml: 'd date day',
    strf: 'd',
    strfPadding: 2,
    ldmlPaddedToken: 'dd',
    ordinalToken: 'do',
    get: function(d) {
      return getDate(d);
    }
  },
  {
    strf: 'e',
    get: function(d) {
      return padNumber(getDate(d), 2, false, 10, ' ');
    }
  },
  {
    ldml: 'H 24hr',
    strf: 'H',
    strfPadding: 2,
    ldmlPaddedToken: 'HH',
    get: function(d) {
      return getHours(d);
    }
  },
  {
    ldml: 'h hours 12hr',
    strf: 'I',
    strfPadding: 2,
    ldmlPaddedToken: 'hh',
    get: function(d) {
      return getHours(d) % 12 || 12;
    }
  },
  {
    ldml: 'D',
    strf: 'j',
    strfPadding: 3,
    ldmlPaddedToken: 'DDD',
    get: function(d) {
      var s = setUnitAndLowerToEdge(cloneDate(d), MONTH_INDEX);
      return getDaysSince(d, s) + 1;
    }
  },
  {
    ldml: 'M',
    strf: 'm',
    strfPadding: 2,
    ordinalToken: 'Mo',
    ldmlPaddedToken: 'MM',
    get: function(d) {
      return getMonth(d) + 1;
    }
  },
  {
    ldml: 'm minutes',
    strf: 'M',
    strfPadding: 2,
    ldmlPaddedToken: 'mm',
    get: function(d) {
      return callDateGet(d, 'Minutes');
    }
  },
  {
    ldml: 'Q',
    get: function(d) {
      return ceil((getMonth(d) + 1) / 3);
    }
  },
  {
    ldml: 'TT',
    strf: 'p',
    get: function(d, localeCode) {
      return getMeridiemToken(d, localeCode);
    }
  },
  {
    ldml: 'tt',
    strf: 'P',
    get: function(d, localeCode) {
      return getMeridiemToken(d, localeCode).toLowerCase();
    }
  },
  {
    ldml: 'T',
    lowerToken: 't',
    get: function(d, localeCode) {
      return getMeridiemToken(d, localeCode).charAt(0);
    }
  },
  {
    ldml: 's seconds',
    strf: 'S',
    strfPadding: 2,
    ldmlPaddedToken: 'ss',
    get: function(d) {
      return callDateGet(d, 'Seconds');
    }
  },
  {
    ldml: 'S ms',
    strfPadding: 3,
    ldmlPaddedToken: 'SSS',
    get: function(d) {
      return callDateGet(d, 'Milliseconds');
    }
  },
  {
    ldml: 'e',
    strf: 'u',
    ordinalToken: 'eo',
    get: function(d) {
      return getWeekday(d) || 7;
    }
  },
  {
    strf: 'U',
    strfPadding: 2,
    get: function(d) {
      // Sunday first, 0-53
      return getWeekNumber(d, false, 0);
    }
  },
  {
    ldml: 'W',
    strf: 'V',
    strfPadding: 2,
    ordinalToken: 'Wo',
    ldmlPaddedToken: 'WW',
    get: function(d) {
      // Monday first, 1-53 (ISO8601)
      return getWeekNumber(d, true);
    }
  },
  {
    strf: 'w',
    get: function(d) {
      return getWeekday(d);
    }
  },
  {
    ldml: 'w',
    ordinalToken: 'wo',
    ldmlPaddedToken: 'ww',
    get: function(d, localeCode) {
      // Locale dependent, 1-53
      var loc = localeManager.get(localeCode),
          dow = loc.getFirstDayOfWeek(localeCode),
          doy = loc.getFirstDayOfWeekYear(localeCode);
      return getWeekNumber(d, true, dow, doy);
    }
  },
  {
    strf: 'W',
    strfPadding: 2,
    get: function(d) {
      // Monday first, 0-53
      return getWeekNumber(d, false);
    }
  },
  {
    ldmlPaddedToken: 'gggg',
    ldmlTwoDigitToken: 'gg',
    get: function(d, localeCode) {
      return getWeekYear(d, localeCode);
    }
  },
  {
    strf: 'G',
    strfPadding: 4,
    strfTwoDigitToken: 'g',
    ldmlPaddedToken: 'GGGG',
    ldmlTwoDigitToken: 'GG',
    get: function(d, localeCode) {
      return getWeekYear(d, localeCode, true);
    }
  },
  {
    ldml: 'year',
    ldmlPaddedToken: 'yyyy',
    ldmlTwoDigitToken: 'yy',
    strf: 'Y',
    strfPadding: 4,
    strfTwoDigitToken: 'y',
    get: function(d) {
      return getYear(d);
    }
  },
  {
    ldml: 'ZZ',
    strf: 'z',
    get: function(d) {
      return getUTCOffset(d);
    }
  },
  {
    ldml: 'X',
    get: function(d) {
      return trunc(d.getTime() / 1000);
    }
  },
  {
    ldml: 'x',
    get: function(d) {
      return d.getTime();
    }
  },
  {
    ldml: 'Z',
    get: function(d) {
      return getUTCOffset(d, true);
    }
  },
  {
    ldml: 'z',
    strf: 'Z',
    get: function(d) {
      // Note that this is not accurate in all browsing environments!
      // https://github.com/moment/moment/issues/162
      // It will continue to be supported for Node and usage with the
      // understanding that it may be blank.
      var match = d.toString().match(TIMEZONE_ABBREVIATION_REG);
      return match ? match[1]: '';
    }
  },
  {
    strf: 'D',
    alias: '%m/%d/%y'
  },
  {
    strf: 'F',
    alias: '%Y-%m-%d'
  },
  {
    strf: 'r',
    alias: '%I:%M:%S %p'
  },
  {
    strf: 'R',
    alias: '%H:%M'
  },
  {
    strf: 'T',
    alias: '%H:%M:%S'
  },
  {
    strf: 'x',
    alias: '{short}'
  },
  {
    strf: 'X',
    alias: '{time}'
  },
  {
    strf: 'c',
    alias: '{stamp}'
  }
];
 
module.exports = FormatTokensBase;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/ISODefaults.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/ISODefaults.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
module.exports = {
  ISO_FIRST_DAY_OF_WEEK: 1,
  ISO_FIRST_DAY_OF_WEEK_YEAR: 4
};
 
Code coverage report for node-npmtest-sugar/sugar/date/var/LOCALE_ARRAY_FIELDS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/LOCALE_ARRAY_FIELDS.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » LOCALE_ARRAY_FIELDS.js
1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
var LOCALE_ARRAY_FIELDS = [
  'months', 'weekdays', 'units', 'numerals', 'placeholders',
  'articles', 'tokens', 'timeMarkers', 'ampm', 'timeSuffixes',
  'parse', 'timeParse', 'timeFrontParse', 'modifiers'
];
 
module.exports = LOCALE_ARRAY_FIELDS;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/LazyLoadedLocales.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/LazyLoadedLocales.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1       1             1  
'use strict';
 
var BritishEnglishDefinition = require('./BritishEnglishDefinition'),
    AmericanEnglishDefinition = require('./AmericanEnglishDefinition'),
    CanadianEnglishDefinition = require('./CanadianEnglishDefinition');
 
var LazyLoadedLocales = {
  'en-US': AmericanEnglishDefinition,
  'en-GB': BritishEnglishDefinition,
  'en-AU': BritishEnglishDefinition,
  'en-CA': CanadianEnglishDefinition
};
 
module.exports = LazyLoadedLocales;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/LocaleHelpers.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/LocaleHelpers.js

Statements: 55.88% (19 / 34)      Branches: 13.64% (3 / 22)      Functions: 42.86% (3 / 7)      Lines: 55.88% (19 / 34)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75    1       1   1   1 1 1     1                                                 1 1 1       1 1 1 1   1                         1 1     1   1        
'use strict';
 
var LazyLoadedLocales = require('./LazyLoadedLocales'),
    AmericanEnglishDefinition = require('./AmericanEnglishDefinition'),
    getNewLocale = require('../internal/getNewLocale');
 
var English, localeManager;
 
function buildLocales() {
 
  function LocaleManager(loc) {
    this.locales = {};
    this.add(loc);
  }
 
  LocaleManager.prototype = {
 
    get: function(code, fallback) {
      var loc = this.locales[code];
      if (!loc && LazyLoadedLocales[code]) {
        loc = this.add(code, LazyLoadedLocales[code]);
      } else if (!loc && code) {
        loc = this.locales[code.slice(0, 2)];
      }
      return loc || fallback === false ? loc : this.current;
    },
 
    getAll: function() {
      return this.locales;
    },
 
    set: function(code) {
      var loc = this.get(code, false);
      if (!loc) {
        throw new TypeError('Invalid Locale: ' + code);
      }
      return this.current = loc;
    },
 
    add: function(code, def) {
      Eif (!def) {
        def = code;
        code = def.code;
      } else {
        def.code = code;
      }
      var loc = def.compiledFormats ? def : getNewLocale(def);
      this.locales[code] = loc;
      Eif (!this.current) {
        this.current = loc;
      }
      return loc;
    },
 
    remove: function(code) {
      if (this.current.code === code) {
        this.current = this.get('en');
      }
      return delete this.locales[code];
    }
 
  };
 
  // Sorry about this guys...
  English = getNewLocale(AmericanEnglishDefinition);
  localeManager = new LocaleManager(English);
}
 
buildLocales();
 
module.exports = {
  English: English,
  localeManager: localeManager
};
 
Code coverage report for node-npmtest-sugar/sugar/date/var/LocalizedParsingTokens.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/LocalizedParsingTokens.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » LocalizedParsingTokens.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33    1                                                         1  
'use strict';
 
var LocalizedParsingTokens = {
  'year': {
    base: 'yyyy',
    requiresSuffix: true
  },
  'month': {
    base: 'MM',
    requiresSuffix: true
  },
  'date': {
    base: 'dd',
    requiresSuffix: true
  },
  'hour': {
    base: 'hh',
    requiresSuffixOr: ':'
  },
  'minute': {
    base: 'mm'
  },
  'second': {
    base: 'ss'
  },
  'num': {
    src: '\\d+',
    requiresNumerals: true
  }
};
 
module.exports = LocalizedParsingTokens;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/MINUTES.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/MINUTES.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 60 * 1000;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/ParsingTokens.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/ParsingTokens.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74    1                                                                                                                                           1  
'use strict';
 
var ParsingTokens = {
  'yyyy': {
    param: 'year',
    src: '\\d{4}'
  },
  'MM': {
    param: 'month',
    src: '[01]?\\d'
  },
  'dd': {
    param: 'date',
    src: '[0123]?\\d'
  },
  'hh': {
    param: 'hour',
    src: '[0-2]?\\d'
  },
  'mm': {
    param: 'minute',
    src: '[0-5]\\d'
  },
  'ss': {
    param: 'second',
    src: '[0-5]\\d(?:[,.]\\d+)?'
  },
  'yy': {
    param: 'year',
    src: '\\d{2}'
  },
  'y': {
    param: 'year',
    src: '\\d'
  },
  'yearSign': {
    src: '[+-]',
    sign: true
  },
  'tzHour': {
    src: '[0-1]\\d'
  },
  'tzMinute': {
    src: '[0-5]\\d'
  },
  'tzSign': {
    src: '[+−-]',
    sign: true
  },
  'ihh': {
    param: 'hour',
    src: '[0-2]?\\d(?:[,.]\\d+)?'
  },
  'imm': {
    param: 'minute',
    src: '[0-5]\\d(?:[,.]\\d+)?'
  },
  'GMT': {
    param: 'utc',
    src: 'GMT',
    val: 1
  },
  'Z': {
    param: 'utc',
    src: 'Z',
    val: 1
  },
  'timestamp': {
    src: '\\d+'
  }
};
 
module.exports = ParsingTokens;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/TIMEZONE_ABBREVIATION_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/TIMEZONE_ABBREVIATION_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/date/var/ » TIMEZONE_ABBREVIATION_REG.js
1 2 3 4    1  
'use strict';
 
module.exports = /(\w{3})[()\s\d]*$/;
 
Code coverage report for node-npmtest-sugar/sugar/date/var/_dateOptions.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/_dateOptions.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1       1   1  
'use strict';
 
var DATE_OPTIONS = require('./DATE_OPTIONS'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineOptionsAccessor = require('../../common/internal/defineOptionsAccessor');
 
var sugarDate = namespaceAliases.sugarDate;
 
module.exports = defineOptionsAccessor(sugarDate, DATE_OPTIONS);
 
Code coverage report for node-npmtest-sugar/sugar/date/var/formattingTokens.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/date/var/formattingTokens.js

Statements: 84.81% (67 / 79)      Branches: 87.5% (21 / 24)      Functions: 60% (15 / 25)      Lines: 84.81% (67 / 79)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162    1                     1           1   1   1 99 76 85         1 15         1 5           1 31         1 5         1 11         1 2 10       1 10     10 10 10       1 6           1 1   1 40 40 5   40 5   40 13   40 3   40 2   40 13   40 8   40 2   40 40     1 3     1 4 4 4     1 1     1   1   1       1       1         1     1   1   1          
'use strict';
 
var LocaleHelpers = require('./LocaleHelpers'),
    FormatTokensBase = require('./FormatTokensBase'),
    CoreOutputFormats = require('./CoreOutputFormats'),
    forEach = require('../../common/internal/forEach'),
    padNumber = require('../../common/internal/padNumber'),
    spaceSplit = require('../../common/internal/spaceSplit'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    createFormatMatcher = require('../../common/internal/createFormatMatcher'),
    defineInstanceSimilar = require('../../common/internal/defineInstanceSimilar');
 
var localeManager = LocaleHelpers.localeManager,
    hasOwn = coreUtilityAliases.hasOwn,
    getOwn = coreUtilityAliases.getOwn,
    forEachProperty = coreUtilityAliases.forEachProperty,
    sugarDate = namespaceAliases.sugarDate;
 
var ldmlTokens, strfTokens;
 
function buildDateFormatTokens() {
 
  function addFormats(target, tokens, fn) {
    if (tokens) {
      forEach(spaceSplit(tokens), function(token) {
        target[token] = fn;
      });
    }
  }
 
  function buildLowercase(get) {
    return function(d, localeCode) {
      return get(d, localeCode).toLowerCase();
    };
  }
 
  function buildOrdinal(get) {
    return function(d, localeCode) {
      var n = get(d, localeCode);
      return n + localeManager.get(localeCode).getOrdinal(n);
    };
  }
 
  function buildPadded(get, padding) {
    return function(d, localeCode) {
      return padNumber(get(d, localeCode), padding);
    };
  }
 
  function buildTwoDigits(get) {
    return function(d, localeCode) {
      return get(d, localeCode) % 100;
    };
  }
 
  function buildAlias(alias) {
    return function(d, localeCode) {
      return dateFormatMatcher(alias, d, localeCode);
    };
  }
 
  function buildAlternates(f) {
    for (var n = 1; n <= 5; n++) {
      buildAlternate(f, n);
    }
  }
 
  function buildAlternate(f, n) {
    var alternate = function(d, localeCode) {
      return f.get(d, localeCode, n);
    };
    addFormats(ldmlTokens, f.ldml + n, alternate);
    Eif (f.lowerToken) {
      ldmlTokens[f.lowerToken + n] = buildLowercase(alternate);
    }
  }
 
  function getIdentityFormat(name) {
    return function(d, localeCode) {
      var loc = localeManager.get(localeCode);
      return dateFormatMatcher(loc[name], d, localeCode);
    };
  }
 
  ldmlTokens = {};
  strfTokens = {};
 
  forEach(FormatTokensBase, function(f) {
    var get = f.get, getPadded;
    if (f.lowerToken) {
      ldmlTokens[f.lowerToken] = buildLowercase(get);
    }
    if (f.ordinalToken) {
      ldmlTokens[f.ordinalToken] = buildOrdinal(get, f);
    }
    if (f.ldmlPaddedToken) {
      ldmlTokens[f.ldmlPaddedToken] = buildPadded(get, f.ldmlPaddedToken.length);
    }
    if (f.ldmlTwoDigitToken) {
      ldmlTokens[f.ldmlTwoDigitToken] = buildPadded(buildTwoDigits(get), 2);
    }
    if (f.strfTwoDigitToken) {
      strfTokens[f.strfTwoDigitToken] = buildPadded(buildTwoDigits(get), 2);
    }
    if (f.strfPadding) {
      getPadded = buildPadded(get, f.strfPadding);
    }
    if (f.alias) {
      get = buildAlias(f.alias);
    }
    if (f.allowAlternates) {
      buildAlternates(f);
    }
    addFormats(ldmlTokens, f.ldml, get);
    addFormats(strfTokens, f.strf, getPadded || get);
  });
 
  forEachProperty(CoreOutputFormats, function(src, name) {
    addFormats(ldmlTokens, name, buildAlias(src));
  });
 
  defineInstanceSimilar(sugarDate, 'short medium long full', function(methods, name) {
    var fn = getIdentityFormat(name);
    addFormats(ldmlTokens, name, fn);
    methods[name] = fn;
  });
 
  addFormats(ldmlTokens, 'time', getIdentityFormat('time'));
  addFormats(ldmlTokens, 'stamp', getIdentityFormat('stamp'));
}
 
var dateFormatMatcher;
 
function buildDateFormatMatcher() {
 
  function getLdml(d, token, localeCode) {
    return getOwn(ldmlTokens, token)(d, localeCode);
  }
 
  function getStrf(d, token, localeCode) {
    return getOwn(strfTokens, token)(d, localeCode);
  }
 
  function checkDateToken(ldml, strf) {
    return hasOwn(ldmlTokens, ldml) || hasOwn(strfTokens, strf);
  }
 
  // Format matcher for LDML or STRF tokens.
  dateFormatMatcher = createFormatMatcher(getLdml, getStrf, checkDateToken);
}
 
buildDateFormatTokens();
 
buildDateFormatMatcher();
 
module.exports = {
  ldmlTokens: ldmlTokens,
  strfTokens: strfTokens,
  dateFormatMatcher: dateFormatMatcher
};
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/

Statements: 100% (41 / 41)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (41 / 41)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/
File Statements Branches Functions Lines
index.js 100% (41 / 41) 100% (0 / 0) 100% (0 / 0) 100% (41 / 41)
Code coverage report for node-npmtest-sugar/sugar/enumerable/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/index.js

Statements: 100% (41 / 41)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (41 / 41)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48      1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1   1  
'use strict';
 
// Static Methods
require('../object/average');
require('../object/count');
require('../object/every');
require('../object/filter');
require('../object/find');
require('../object/forEach');
require('../object/least');
require('../object/map');
require('../object/max');
require('../object/median');
require('../object/min');
require('../object/most');
require('../object/none');
require('../object/reduce');
require('../object/some');
require('../object/sum');
 
// Instance Methods
require('../array/average');
require('../array/count');
require('../array/every');
require('../array/everyFromIndex');
require('../array/filter');
require('../array/filterFromIndex');
require('../array/find');
require('../array/findFromIndex');
require('../array/findIndex');
require('../array/findIndexFromIndex');
require('../array/forEachFromIndex');
require('../array/least');
require('../array/map');
require('../array/mapFromIndex');
require('../array/max');
require('../array/median');
require('../array/min');
require('../array/most');
require('../array/none');
require('../array/reduceFromIndex');
require('../array/reduceRightFromIndex');
require('../array/some');
require('../array/someFromIndex');
require('../array/sum');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/build/

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/build/
File Statements Branches Functions Lines
buildFromIndexMethodsCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/enumerable/build/buildFromIndexMethodsCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/build/buildFromIndexMethodsCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/build/ » buildFromIndexMethodsCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildFromIndexMethods = require('../internal/buildFromIndexMethods');
 
buildFromIndexMethods();
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/

Statements: 39.53% (102 / 258)      Branches: 9.41% (8 / 85)      Functions: 14.55% (8 / 55)      Lines: 39.69% (102 / 257)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/internal/
File Statements Branches Functions Lines
arrayCount.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
arrayNone.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
average.js 37.5% (3 / 8) 0% (0 / 2) 0% (0 / 2) 37.5% (3 / 8)
buildEnhancedMapping.js 100% (4 / 4) 100% (0 / 0) 100% (1 / 1) 100% (4 / 4)
buildEnhancedMatching.js 100% (4 / 4) 100% (0 / 0) 100% (1 / 1) 100% (4 / 4)
buildFromIndexMethods.js 34.43% (21 / 61) 30.77% (8 / 26) 26.67% (4 / 15) 34.43% (21 / 61)
enhancedMapping.js 44.44% (4 / 9) 0% (0 / 4) 0% (0 / 2) 44.44% (4 / 9)
enhancedMatching.js 40% (4 / 10) 0% (0 / 2) 0% (0 / 2) 40% (4 / 10)
enumerateWithMapping.js 33.33% (4 / 12) 0% (0 / 4) 0% (0 / 2) 33.33% (4 / 12)
getLeastOrMost.js 19.05% (4 / 21) 0% (0 / 8) 0% (0 / 3) 19.05% (4 / 21)
getMinOrMax.js 21.05% (4 / 19) 0% (0 / 15) 0% (0 / 2) 21.05% (4 / 19)
getReducedMinMaxResult.js 22.22% (2 / 9) 0% (0 / 8) 0% (0 / 2) 22.22% (2 / 9)
median.js 23.08% (3 / 13) 0% (0 / 8) 0% (0 / 3) 25% (3 / 12)
objectCount.js 44.44% (4 / 9) 0% (0 / 2) 0% (0 / 2) 44.44% (4 / 9)
objectFilter.js 44.44% (4 / 9) 0% (0 / 2) 0% (0 / 2) 44.44% (4 / 9)
objectForEach.js 50% (4 / 8) 100% (0 / 0) 0% (0 / 2) 50% (4 / 8)
objectMap.js 50% (4 / 8) 100% (0 / 0) 0% (0 / 2) 50% (4 / 8)
objectNone.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
objectReduce.js 33.33% (4 / 12) 0% (0 / 2) 0% (0 / 2) 33.33% (4 / 12)
sum.js 42.86% (3 / 7) 100% (0 / 0) 0% (0 / 2) 42.86% (3 / 7)
wrapNativeArrayMethod.js 50% (5 / 10) 100% (0 / 0) 50% (1 / 2) 50% (5 / 10)
wrapObjectMatcher.js 62.5% (5 / 8) 100% (0 / 0) 33.33% (1 / 3) 62.5% (5 / 8)
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/arrayCount.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/arrayCount.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1   1             1  
'use strict';
 
var isUndefined = require('../../common/internal/isUndefined'),
    enhancedMatcherMethods = require('../var/enhancedMatcherMethods');
 
var enhancedFilter = enhancedMatcherMethods.enhancedFilter;
 
function arrayCount(arr, f) {
  if (isUndefined(f)) {
    return arr.length;
  }
  return enhancedFilter.apply(this, arguments).length;
}
 
module.exports = arrayCount;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/arrayNone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/arrayNone.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1       1  
'use strict';
 
var enhancedMatcherMethods = require('../var/enhancedMatcherMethods');
 
var enhancedSome = enhancedMatcherMethods.enhancedSome;
 
function arrayNone() {
  return !enhancedSome.apply(this, arguments);
}
 
module.exports = arrayNone;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/average.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/average.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var enumerateWithMapping = require('./enumerateWithMapping');
 
function average(obj, map) {
  var sum = 0, count = 0;
  enumerateWithMapping(obj, map, function(val) {
    sum += val;
    count++;
  });
  // Prevent divide by 0
  return sum / (count || 1);
}
 
module.exports = average;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildEnhancedMapping.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildEnhancedMapping.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1 1     1  
'use strict';
 
var enhancedMapping = require('./enhancedMapping'),
    wrapNativeArrayMethod = require('./wrapNativeArrayMethod');
 
function buildEnhancedMapping(name) {
  return wrapNativeArrayMethod(name, enhancedMapping);
}
 
module.exports = buildEnhancedMapping;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildEnhancedMatching.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildEnhancedMatching.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (1 / 1)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1 5     1  
'use strict';
 
var enhancedMatching = require('./enhancedMatching'),
    wrapNativeArrayMethod = require('./wrapNativeArrayMethod');
 
function buildEnhancedMatching(name) {
  return wrapNativeArrayMethod(name, enhancedMatching);
}
 
module.exports = buildEnhancedMatching;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildFromIndexMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/buildFromIndexMethods.js

Statements: 34.43% (21 / 61)      Branches: 30.77% (8 / 26)      Functions: 26.67% (4 / 15)      Lines: 34.43% (21 / 61)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172    1                       1             1   1                                                     1 7 9 9 9       1                                           1                             1               1           1       1             1             1             1   9             9                                                     1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    spaceSplit = require('../../common/internal/spaceSplit'),
    classChecks = require('../../common/var/classChecks'),
    mathAliases = require('../../common/var/mathAliases'),
    assertArgument = require('../../common/internal/assertArgument'),
    enhancedMapping = require('./enhancedMapping'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    enhancedMatching = require('./enhancedMatching'),
    getNormalizedIndex = require('../../common/internal/getNormalizedIndex'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    methodDefineAliases = require('../../common/var/methodDefineAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty,
    defineInstanceWithArguments = methodDefineAliases.defineInstanceWithArguments,
    sugarArray = namespaceAliases.sugarArray,
    min = mathAliases.min,
    max = mathAliases.max,
    isBoolean = classChecks.isBoolean;
 
function buildFromIndexMethods() {
 
  var methods = {
    'forEach': {
      base: forEachAsNative
    },
    'map': {
      wrapper: enhancedMapping
    },
    'some every': {
      wrapper: enhancedMatching
    },
    'findIndex': {
      wrapper: enhancedMatching,
      result: indexResult
    },
    'reduce': {
      apply: applyReduce
    },
    'filter find': {
      wrapper: enhancedMatching
    },
    'reduceRight': {
      apply: applyReduce,
      slice: sliceArrayFromRight,
      clamp: clampStartIndexFromRight
    }
  };
 
  forEachProperty(methods, function(opts, key) {
    forEach(spaceSplit(key), function(baseName) {
      var methodName = baseName + 'FromIndex';
      var fn = createFromIndexWithOptions(baseName, opts);
      defineInstanceWithArguments(sugarArray, methodName, fn);
    });
  });
 
  function forEachAsNative(fn) {
    forEach(this, fn);
  }
 
  // Methods like filter and find have a direct association between the value
  // returned by the callback and the element of the current iteration. This
  // means that when looping, array elements must match the actual index for
  // which they are being called, so the array must be sliced. This is not the
  // case for methods like forEach and map, which either do not use return
  // values or use them in a way that simply getting the element at a shifted
  // index will not affect the final return value. However, these methods will
  // still fail on sparse arrays, so always slicing them here. For example, if
  // "forEachFromIndex" were to be called on [1,,2] from index 1, although the
  // actual index 1 would itself would be skipped, when the array loops back to
  // index 0, shifting it by adding 1 would result in the element for that
  // iteration being undefined. For shifting to work, all gaps in the array
  // between the actual index and the shifted index would have to be accounted
  // for. This is infeasible and is easily solved by simply slicing the actual
  // array instead so that gaps align. Note also that in the case of forEach,
  // we are using the internal function which handles sparse arrays in a way
  // that does not increment the index, and so is highly optimized compared to
  // the others here, which are simply going through the native implementation.
  function sliceArrayFromLeft(arr, startIndex, loop) {
    var result = arr;
    if (startIndex) {
      result = arr.slice(startIndex);
      if (loop) {
        result = result.concat(arr.slice(0, startIndex));
      }
    }
    return result;
  }
 
  // When iterating from the right, indexes are effectively shifted by 1.
  // For example, iterating from the right from index 2 in an array of 3
  // should also include the last element in the array. This matches the
  // "lastIndexOf" method which also iterates from the right.
  function sliceArrayFromRight(arr, startIndex, loop) {
    if (!loop) {
      startIndex += 1;
      arr = arr.slice(0, max(0, startIndex));
    }
    return arr;
  }
 
  function clampStartIndex(startIndex, len) {
    return min(len, max(0, startIndex));
  }
 
  // As indexes are shifted by 1 when starting from the right, clamping has to
  // go down to -1 to accommodate the full range of the sliced array.
  function clampStartIndexFromRight(startIndex, len) {
    return min(len, max(-1, startIndex));
  }
 
  function applyReduce(arr, startIndex, fn, context, len, loop) {
    return function(acc, val, i) {
      i = getNormalizedIndex(i + startIndex, len, loop);
      return fn.call(arr, acc, val, i, arr);
    };
  }
 
  function applyEach(arr, startIndex, fn, context, len, loop) {
    return function(el, i) {
      i = getNormalizedIndex(i + startIndex, len, loop);
      return fn.call(context, arr[i], i, arr);
    };
  }
 
  function indexResult(result, startIndex, len) {
    if (result !== -1) {
      result = (result + startIndex) % len;
    }
    return result;
  }
 
  function createFromIndexWithOptions(methodName, opts) {
 
    var baseFn = opts.base || Array.prototype[methodName],
        applyCallback = opts.apply || applyEach,
        sliceArray = opts.slice || sliceArrayFromLeft,
        clampIndex = opts.clamp || clampStartIndex,
        getResult = opts.result,
        wrapper = opts.wrapper;
 
    return function(arr, startIndex, args) {
      var callArgs = [], argIndex = 0, lastArg, result, len, loop, fn;
      len = arr.length;
      if (isBoolean(args[0])) {
        loop = args[argIndex++];
      }
      fn = args[argIndex++];
      lastArg = args[argIndex];
      if (startIndex < 0) {
        startIndex += len;
      }
      startIndex = clampIndex(startIndex, len);
      assertArgument(args.length);
      fn = wrapper ? wrapper(fn, lastArg) : fn;
      callArgs.push(applyCallback(arr, startIndex, fn, lastArg, len, loop));
      if (lastArg) {
        callArgs.push(lastArg);
      }
      result = baseFn.apply(sliceArray(arr, startIndex, loop), callArgs);
      if (getResult) {
        result = getResult(result, startIndex, len);
      }
      return result;
    };
  }
}
 
module.exports = buildFromIndexMethods;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enhancedMapping.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enhancedMapping.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    mapWithShortcuts = require('../../common/internal/mapWithShortcuts');
 
var isFunction = classChecks.isFunction;
 
function enhancedMapping(map, context) {
  if (isFunction(map)) {
    return map;
  } else if (map) {
    return function(el, i, arr) {
      return mapWithShortcuts(el, map, context, [el, i, arr]);
    };
  }
}
 
module.exports = enhancedMapping;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enhancedMatching.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enhancedMatching.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1     1   1                     1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher'),
    classChecks = require('../../common/var/classChecks');
 
var isFunction = classChecks.isFunction;
 
function enhancedMatching(f) {
  var matcher;
  if (isFunction(f)) {
    return f;
  }
  matcher = getMatcher(f);
  return function(el, i, arr) {
    return matcher(el, i, arr);
  };
}
 
module.exports = enhancedMatching;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enumerateWithMapping.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/enumerateWithMapping.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26    1         1     1                           1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    isArrayIndex = require('../../common/internal/isArrayIndex'),
    mapWithShortcuts = require('../../common/internal/mapWithShortcuts'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var isArray = classChecks.isArray,
    forEachProperty = coreUtilityAliases.forEachProperty;
 
function enumerateWithMapping(obj, map, fn) {
  var arrayIndexes = isArray(obj);
  forEachProperty(obj, function(val, key) {
    if (arrayIndexes) {
      if (!isArrayIndex(key)) {
        return;
      }
      key = +key;
    }
    var mapped = mapWithShortcuts(val, map, obj, [val, key, obj]);
    fn(mapped, key);
  });
}
 
module.exports = enumerateWithMapping;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getLeastOrMost.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getLeastOrMost.js

Statements: 19.05% (4 / 21)      Branches: 0% (0 / 8)      Functions: 0% (0 / 3)      Lines: 19.05% (4 / 21)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42    1             1       1                                                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    getMinOrMax = require('./getMinOrMax'),
    serializeInternal = require('../../common/internal/serializeInternal'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    enumerateWithMapping = require('./enumerateWithMapping'),
    getReducedMinMaxResult = require('./getReducedMinMaxResult');
 
var isBoolean = classChecks.isBoolean,
    getOwn = coreUtilityAliases.getOwn,
    forEachProperty = coreUtilityAliases.forEachProperty;
 
function getLeastOrMost(obj, arg1, arg2, most, asObject) {
  var group = {}, refs = [], minMaxResult, result, all, map;
  if (isBoolean(arg1)) {
    all = arg1;
    map = arg2;
  } else {
    map = arg1;
  }
  enumerateWithMapping(obj, map, function(val, key) {
    var groupKey = serializeInternal(val, refs);
    var arr = getOwn(group, groupKey) || [];
    arr.push(asObject ? key : obj[key]);
    group[groupKey] = arr;
  });
  minMaxResult = getMinOrMax(group, !!all, 'length', most, true);
  if (all) {
    result = [];
    // Flatten result
    forEachProperty(minMaxResult, function(val) {
      result = result.concat(val);
    });
  } else {
    result = getOwn(group, minMaxResult);
  }
  return getReducedMinMaxResult(result, obj, all, asObject);
}
 
module.exports = getLeastOrMost;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getMinOrMax.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getMinOrMax.js

Statements: 21.05% (4 / 19)      Branches: 0% (0 / 15)      Functions: 0% (0 / 2)      Lines: 21.05% (4 / 19)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34    1         1   1                                             1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    isUndefined = require('../../common/internal/isUndefined'),
    enumerateWithMapping = require('./enumerateWithMapping'),
    getReducedMinMaxResult = require('./getReducedMinMaxResult');
 
var isBoolean = classChecks.isBoolean;
 
function getMinOrMax(obj, arg1, arg2, max, asObject) {
  var result = [], pushVal, edge, all, map;
  if (isBoolean(arg1)) {
    all = arg1;
    map = arg2;
  } else {
    map = arg1;
  }
  enumerateWithMapping(obj, map, function(val, key) {
    if (isUndefined(val)) {
      throw new TypeError('Cannot compare with undefined');
    }
    pushVal = asObject ? key : obj[key];
    if (val === edge) {
      result.push(pushVal);
    } else if (isUndefined(edge) || (max && val > edge) || (!max && val < edge)) {
      result = [pushVal];
      edge = val;
    }
  });
  return getReducedMinMaxResult(result, obj, all, asObject);
}
 
module.exports = getMinOrMax;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getReducedMinMaxResult.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/getReducedMinMaxResult.js

Statements: 22.22% (2 / 9)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 22.22% (2 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1                           1  
'use strict';
 
function getReducedMinMaxResult(result, obj, all, asObject) {
  if (asObject && all) {
    // The method has returned an array of keys so use this array
    // to build up the resulting object in the form we want it in.
    return result.reduce(function(o, key) {
      o[key] = obj[key];
      return o;
    }, {});
  } else if (result && !all) {
    result = result[0];
  }
  return result;
}
 
module.exports = getReducedMinMaxResult;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/median.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/median.js

Statements: 23.08% (3 / 13)      Branches: 0% (0 / 8)      Functions: 0% (0 / 3)      Lines: 25% (3 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1                             1  
'use strict';
 
var trunc = require('../../common/var/trunc'),
    enumerateWithMapping = require('./enumerateWithMapping');
 
function median(obj, map) {
  var result = [], middle, len;
  enumerateWithMapping(obj, map, function(val) {
    result.push(val);
  });
  len = result.length;
  if (!len) return 0;
  result.sort(function(a, b) {
    // IE7 will throw errors on non-numbers!
    return (a || 0) - (b || 0);
  });
  middle = trunc(len / 2);
  return len % 2 ? result[middle] : (result[middle - 1] + result[middle]) / 2;
}
 
module.exports = median;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectCount.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectCount.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectCount(obj, f) {
  var matcher = getMatcher(f), count = 0;
  forEachProperty(obj, function(val, key) {
    if (matcher(val, key, obj)) {
      count++;
    }
  });
  return count;
}
 
module.exports = objectCount;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectFilter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectFilter.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectFilter(obj, f) {
  var matcher = getMatcher(f), result = {};
  forEachProperty(obj, function(val, key) {
    if (matcher(val, key, obj)) {
      result[key] = val;
    }
  });
  return result;
}
 
module.exports = objectFilter;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectForEach.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectForEach.js

Statements: 50% (4 / 8)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var assertCallable = require('../../common/internal/assertCallable'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectForEach(obj, fn) {
  assertCallable(fn);
  forEachProperty(obj, function(val, key) {
    fn(val, key, obj);
  });
  return obj;
}
 
module.exports = objectForEach;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectMap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectMap.js

Statements: 50% (4 / 8)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var mapWithShortcuts = require('../../common/internal/mapWithShortcuts'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectMap(obj, map) {
  var result = {};
  forEachProperty(obj, function(val, key) {
    result[key] = mapWithShortcuts(val, map, obj, [val, key, obj]);
  });
  return result;
}
 
module.exports = objectMap;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectNone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectNone.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1   1       1  
'use strict';
 
var objectMatchers = require('../var/objectMatchers');
 
var objectSome = objectMatchers.objectSome;
 
function objectNone(obj, f) {
  return !objectSome(obj, f);
}
 
module.exports = objectNone;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectReduce.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/objectReduce.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1   1                         1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectReduce(obj, fn, acc) {
  var init = isDefined(acc);
  forEachProperty(obj, function(val, key) {
    if (!init) {
      acc = val;
      init = true;
      return;
    }
    acc = fn(acc, val, key, obj);
  });
  return acc;
}
 
module.exports = objectReduce;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/sum.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/sum.js

Statements: 42.86% (3 / 7)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var enumerateWithMapping = require('./enumerateWithMapping');
 
function sum(obj, map) {
  var sum = 0;
  enumerateWithMapping(obj, map, function(val) {
    sum += val;
  });
  return sum;
}
 
module.exports = sum;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/wrapNativeArrayMethod.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/wrapNativeArrayMethod.js

Statements: 50% (5 / 10)      Branches: 100% (0 / 0)      Functions: 50% (1 / 2)      Lines: 50% (5 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1   1 6 6                 1  
'use strict';
 
var assertArgument = require('../../common/internal/assertArgument');
 
function wrapNativeArrayMethod(methodName, wrapper) {
  var nativeFn = Array.prototype[methodName];
  return function(arr, f, context, argsLen) {
    var args = new Array(2);
    assertArgument(argsLen > 0);
    args[0] = wrapper(f, context);
    args[1] = context;
    return nativeFn.apply(arr, args);
  };
}
 
module.exports = wrapNativeArrayMethod;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/wrapObjectMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/internal/wrapObjectMatcher.js

Statements: 62.5% (5 / 8)      Branches: 100% (0 / 0)      Functions: 33.33% (1 / 3)      Lines: 62.5% (5 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1 3 3               1  
'use strict';
 
var getKeys = require('../../common/internal/getKeys'),
    getMatcher = require('../../common/internal/getMatcher');
 
function wrapObjectMatcher(name) {
  var nativeFn = Array.prototype[name];
  return function(obj, f) {
    var matcher = getMatcher(f);
    return nativeFn.call(getKeys(obj), function(key) {
      return matcher(obj[key], key, obj);
    });
  };
}
 
module.exports = wrapObjectMatcher;
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/var/

Statements: 100% (7 / 7)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (7 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/var/
File Statements Branches Functions Lines
ARRAY_ENHANCEMENTS_FLAG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
enhancedMap.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
enhancedMatcherMethods.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
objectMatchers.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/enumerable/var/ARRAY_ENHANCEMENTS_FLAG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/var/ARRAY_ENHANCEMENTS_FLAG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/var/ » ARRAY_ENHANCEMENTS_FLAG.js
1 2 3 4    1  
'use strict';
 
module.exports = 'enhanceArray';
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/var/enhancedMap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/var/enhancedMap.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var buildEnhancedMapping = require('../internal/buildEnhancedMapping');
 
module.exports = buildEnhancedMapping('map');
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/var/enhancedMatcherMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/var/enhancedMatcherMethods.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/enumerable/var/ » enhancedMatcherMethods.js
1 2 3 4 5 6 7 8 9 10 11 12    1   1              
'use strict';
 
var buildEnhancedMatching = require('../internal/buildEnhancedMatching');
 
module.exports = {
  enhancedFind: buildEnhancedMatching('find'),
  enhancedSome: buildEnhancedMatching('some'),
  enhancedEvery: buildEnhancedMatching('every'),
  enhancedFilter: buildEnhancedMatching('filter'),
  enhancedFindIndex: buildEnhancedMatching('findIndex')
};
 
Code coverage report for node-npmtest-sugar/sugar/enumerable/var/objectMatchers.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/enumerable/var/objectMatchers.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1          
'use strict';
 
var wrapObjectMatcher = require('../internal/wrapObjectMatcher');
 
module.exports = {
  objectSome: wrapObjectMatcher('some'),
  objectFind: wrapObjectMatcher('find'),
  objectEvery: wrapObjectMatcher('every')
};
 
Code coverage report for node-npmtest-sugar/sugar/function/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/

Statements: 40.65% (50 / 123)      Branches: 0% (0 / 26)      Functions: 0% (0 / 18)      Lines: 42.02% (50 / 119)      Ignored: none     

All files » node-npmtest-sugar/sugar/function/
File Statements Branches Functions Lines
after.js 23.08% (3 / 13) 0% (0 / 2) 0% (0 / 2) 27.27% (3 / 11)
cancel.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
debounce.js 40% (4 / 10) 100% (0 / 0) 0% (0 / 2) 50% (4 / 8)
delay.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
every.js 50% (4 / 8) 100% (0 / 0) 0% (0 / 2) 50% (4 / 8)
index.js 100% (12 / 12) 100% (0 / 0) 100% (0 / 0) 100% (12 / 12)
lazy.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
lock.js 30.77% (4 / 13) 0% (0 / 6) 0% (0 / 2) 30.77% (4 / 13)
memoize.js 25% (4 / 16) 0% (0 / 6) 0% (0 / 2) 25% (4 / 16)
once.js 33.33% (3 / 9) 0% (0 / 2) 0% (0 / 2) 33.33% (3 / 9)
partial.js 16% (4 / 25) 0% (0 / 10) 0% (0 / 2) 16% (4 / 25)
throttle.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
Code coverage report for node-npmtest-sugar/sugar/function/after.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/after.js

Statements: 23.08% (3 / 13)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 27.27% (3 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1     1                                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    coercePositiveInteger = require('../common/internal/coercePositiveInteger');
 
Sugar.Function.defineInstance({
 
  'after': function(fn, num) {
    var count = 0, collectedArgs = [];
    num = coercePositiveInteger(num);
    return function() {
      // Optimized: no leaking arguments
      var args = []; for(var $i = 0, $len = arguments.length; $i < $len; $i++) args.push(arguments[$i]);
      collectedArgs.push(args);
      count++;
      if (count >= num) {
        return fn.call(this, collectedArgs);
      }
    };
  }
 
});
 
module.exports = Sugar.Function.after;
 
Code coverage report for node-npmtest-sugar/sugar/function/cancel.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/cancel.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    cancelFunction = require('./internal/cancelFunction');
 
Sugar.Function.defineInstance({
 
  'cancel': function(fn) {
    return cancelFunction(fn);
  }
 
});
 
module.exports = Sugar.Function.cancel;
 
Code coverage report for node-npmtest-sugar/sugar/function/debounce.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/debounce.js

Statements: 40% (4 / 10)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1       1     1                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    setDelay = require('./internal/setDelay'),
    cancelFunction = require('./internal/cancelFunction');
 
Sugar.Function.defineInstance({
 
  'debounce': function(fn, ms) {
    function debounced() {
      // Optimized: no leaking arguments
      var args = []; for(var $i = 0, $len = arguments.length; $i < $len; $i++) args.push(arguments[$i]);
      cancelFunction(debounced);
      setDelay(debounced, ms, fn, this, args);
    }
    return debounced;
  }
 
});
 
module.exports = Sugar.Function.debounce;
 
Code coverage report for node-npmtest-sugar/sugar/function/delay.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/delay.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    setDelay = require('./internal/setDelay');
 
Sugar.Function.defineInstanceWithArguments({
 
  'delay': function(fn, ms, args) {
    setDelay(fn, ms, fn, fn, args);
    return fn;
  }
 
});
 
module.exports = Sugar.Function.delay;
 
Code coverage report for node-npmtest-sugar/sugar/function/every.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/every.js

Statements: 50% (4 / 8)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1     1                       1  
'use strict';
 
var Sugar = require('sugar-core'),
    setDelay = require('./internal/setDelay');
 
Sugar.Function.defineInstanceWithArguments({
 
  'every': function(fn, ms, args) {
    function execute () {
      // Set the delay first here, so that cancel
      // can be called within the executing function.
      setDelay(fn, ms, execute);
      fn.apply(fn, args);
    }
    setDelay(fn, ms, execute);
    return fn;
  }
 
});
 
module.exports = Sugar.Function.every;
 
Code coverage report for node-npmtest-sugar/sugar/function/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/index.js

Statements: 100% (12 / 12)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (12 / 12)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17      1 1 1 1 1 1 1 1 1 1 1   1  
'use strict';
 
// Instance Methods
require('./after');
require('./cancel');
require('./debounce');
require('./delay');
require('./every');
require('./lazy');
require('./lock');
require('./memoize');
require('./once');
require('./partial');
require('./throttle');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/function/lazy.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/lazy.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createLazyFunction = require('./internal/createLazyFunction');
 
Sugar.Function.defineInstance({
 
  'lazy': function(fn, ms, immediate, limit) {
    return createLazyFunction(fn, ms, immediate, limit);
  }
 
});
 
module.exports = Sugar.Function.lazy;
 
Code coverage report for node-npmtest-sugar/sugar/function/lock.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/lock.js

Statements: 30.77% (4 / 13)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    1           1     1                                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    _lock = require('./var/_lock'),
    _partial = require('./var/_partial'),
    classChecks = require('../common/var/classChecks'),
    mathAliases = require('../common/var/mathAliases');
 
var isNumber = classChecks.isNumber,
    min = mathAliases.min;
 
Sugar.Function.defineInstance({
 
  'lock': function(fn, n) {
    var lockedFn;
    if (_partial(fn)) {
      _lock(fn, isNumber(n) ? n : null);
      return fn;
    }
    lockedFn = function() {
      arguments.length = min(_lock(lockedFn), arguments.length);
      return fn.apply(this, arguments);
    };
    _lock(lockedFn, isNumber(n) ? n : fn.length);
    return lockedFn;
  }
 
});
 
module.exports = Sugar.Function.lock;
 
Code coverage report for node-npmtest-sugar/sugar/function/memoize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/memoize.js

Statements: 25% (4 / 16)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 25% (4 / 16)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36    1           1     1                                             1  
'use strict';
 
var Sugar = require('sugar-core'),
    classChecks = require('../common/var/classChecks'),
    deepGetProperty = require('../common/internal/deepGetProperty'),
    collectArguments = require('./internal/collectArguments'),
    createHashedMemoizeFunction = require('./internal/createHashedMemoizeFunction');
 
var isNumber = classChecks.isNumber,
    isString = classChecks.isString;
 
Sugar.Function.defineInstance({
 
  'memoize': function(fn, arg1, arg2) {
    var hashFn, limit, prop;
    if (isNumber(arg1)) {
      limit = arg1;
    } else {
      hashFn = arg1;
      limit  = arg2;
    }
    if (isString(hashFn)) {
      prop = hashFn;
      hashFn = function(obj) {
        return deepGetProperty(obj, prop);
      };
    } else if (!hashFn) {
      hashFn = collectArguments;
    }
    return createHashedMemoizeFunction(fn, hashFn, limit);
  }
 
});
 
module.exports = Sugar.Function.memoize;
 
Code coverage report for node-npmtest-sugar/sugar/function/once.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/once.js

Statements: 33.33% (3 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 33.33% (3 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1   1                             1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Function.defineInstance({
 
  'once': function(fn) {
    var called = false, val;
    return function() {
      if (called) {
        return val;
      }
      called = true;
      return val = fn.apply(this, arguments);
    };
  }
 
});
 
module.exports = Sugar.Function.once;
 
Code coverage report for node-npmtest-sugar/sugar/function/partial.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/partial.js

Statements: 16% (4 / 25)      Branches: 0% (0 / 10)      Functions: 0% (0 / 2)      Lines: 16% (4 / 25)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58    1                 1     1                                                                                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    _lock = require('./var/_lock'),
    _partial = require('./var/_partial'),
    isDefined = require('../common/internal/isDefined'),
    classChecks = require('../common/var/classChecks'),
    mathAliases = require('../common/var/mathAliases'),
    isObjectType = require('../common/internal/isObjectType'),
    createInstanceFromPrototype = require('./var/createInstanceFromPrototype');
 
var isNumber = classChecks.isNumber,
    min = mathAliases.min;
 
Sugar.Function.defineInstanceWithArguments({
 
  'partial': function(fn, curriedArgs) {
    var curriedLen = curriedArgs.length;
    var partialFn = function() {
      var argIndex = 0, applyArgs = [], self = this, lock = _lock(partialFn), result, i;
      for (i = 0; i < curriedLen; i++) {
        var arg = curriedArgs[i];
        if (isDefined(arg)) {
          applyArgs[i] = arg;
        } else {
          applyArgs[i] = arguments[argIndex++];
        }
      }
      for (i = argIndex; i < arguments.length; i++) {
        applyArgs.push(arguments[i]);
      }
      if (lock === null) {
        lock = curriedLen;
      }
      if (isNumber(lock)) {
        applyArgs.length = min(applyArgs.length, lock);
      }
      // If the bound "this" object is an instance of the partialed
      // function, then "new" was used, so preserve the prototype
      // so that constructor functions can also be partialed.
      if (self instanceof partialFn) {
        self = createInstanceFromPrototype(fn.prototype);
        result = fn.apply(self, applyArgs);
        // An explicit return value is allowed from constructors
        // as long as they are of "object" type, so return the
        // correct result here accordingly.
        return isObjectType(result) ? result : self;
      }
      return fn.apply(self, applyArgs);
    };
    _partial(partialFn, true);
    return partialFn;
  }
 
});
 
module.exports = Sugar.Function.partial;
 
Code coverage report for node-npmtest-sugar/sugar/function/throttle.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/throttle.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    createLazyFunction = require('./internal/createLazyFunction');
 
Sugar.Function.defineInstance({
 
  'throttle': function(fn, ms) {
    return createLazyFunction(fn, ms, true, 1);
  }
 
});
 
module.exports = Sugar.Function.throttle;
 
Code coverage report for node-npmtest-sugar/sugar/function/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/

Statements: 24% (18 / 75)      Branches: 0% (0 / 32)      Functions: 0% (0 / 10)      Lines: 25% (18 / 72)      Ignored: none     

All files » node-npmtest-sugar/sugar/function/internal/
File Statements Branches Functions Lines
cancelFunction.js 40% (4 / 10) 0% (0 / 2) 0% (0 / 1) 40% (4 / 10)
collectArguments.js 33.33% (2 / 6) 100% (0 / 0) 0% (0 / 1) 33.33% (2 / 6)
createHashedMemoizeFunction.js 25% (4 / 16) 0% (0 / 4) 0% (0 / 2) 25% (4 / 16)
createLazyFunction.js 15.15% (5 / 33) 0% (0 / 18) 0% (0 / 4) 16.67% (5 / 30)
setDelay.js 30% (3 / 10) 0% (0 / 8) 0% (0 / 2) 30% (3 / 10)
Code coverage report for node-npmtest-sugar/sugar/function/internal/cancelFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/cancelFunction.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1   1                     1  
'use strict';
 
var _timers = require('../var/_timers'),
    _canceled = require('../var/_canceled'),
    classChecks = require('../../common/var/classChecks');
 
var isArray = classChecks.isArray;
 
function cancelFunction(fn) {
  var timers = _timers(fn), timer;
  if (isArray(timers)) {
    while(timer = timers.shift()) {
      clearTimeout(timer);
    }
  }
  _canceled(fn, true);
  return fn;
}
 
module.exports = cancelFunction;
 
Code coverage report for node-npmtest-sugar/sugar/function/internal/collectArguments.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/collectArguments.js

Statements: 33.33% (2 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function collectArguments() {
  var args = arguments, i = args.length, arr = new Array(i);
  while (i--) {
    arr[i] = args[i];
  }
  return arr;
}
 
module.exports = collectArguments;
 
Code coverage report for node-npmtest-sugar/sugar/function/internal/createHashedMemoizeFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/createHashedMemoizeFunction.js

Statements: 25% (4 / 16)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 25% (4 / 16)      Ignored: none     

All files » node-npmtest-sugar/sugar/function/internal/ » createHashedMemoizeFunction.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28    1     1     1                                   1  
'use strict';
 
var serializeInternal = require('../../common/internal/serializeInternal'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn,
    getOwn = coreUtilityAliases.getOwn;
 
function createHashedMemoizeFunction(fn, hashFn, limit) {
  var map = {}, refs = [], counter = 0;
  return function() {
    var hashObj = hashFn.apply(this, arguments);
    var key = serializeInternal(hashObj, refs);
    if (hasOwn(map, key)) {
      return getOwn(map, key);
    }
    if (counter === limit) {
      map = {};
      refs = [];
      counter = 0;
    }
    counter++;
    return map[key] = fn.apply(this, arguments);
  };
}
 
module.exports = createHashedMemoizeFunction;
 
Code coverage report for node-npmtest-sugar/sugar/function/internal/createLazyFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/createLazyFunction.js

Statements: 15.15% (5 / 33)      Branches: 0% (0 / 18)      Functions: 0% (0 / 4)      Lines: 16.67% (5 / 30)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55    1     1       1                                           1                                           1  
'use strict';
 
var setDelay = require('./setDelay'),
    mathAliases = require('../../common/var/mathAliases');
 
var max = mathAliases.max,
    ceil = mathAliases.ceil,
    round = mathAliases.round;
 
function createLazyFunction(fn, ms, immediate, limit) {
  var queue = [], locked = false, execute, rounded, perExecution, result;
  ms = ms || 1;
  limit = limit || Infinity;
  rounded = ceil(ms);
  perExecution = round(rounded / ms) || 1;
  execute = function() {
    var queueLength = queue.length, maxPerRound;
    if (queueLength == 0) return;
    // Allow fractions of a millisecond by calling
    // multiple times per actual timeout execution
    maxPerRound = max(queueLength - perExecution, 0);
    while(queueLength > maxPerRound) {
      // Getting uber-meta here...
      result = Function.prototype.apply.apply(fn, queue.shift());
      queueLength--;
    }
    setDelay(lazy, rounded, function() {
      locked = false;
      execute();
    });
  };
  function lazy() {
    // If the execution has locked and it's immediate, then
    // allow 1 less in the queue as 1 call has already taken place.
    if (queue.length < limit - (locked && immediate ? 1 : 0)) {
      // Optimized: no leaking arguments
      var args = []; for(var $i = 0, $len = arguments.length; $i < $len; $i++) args.push(arguments[$i]);
      queue.push([this, args]);
    }
    if (!locked) {
      locked = true;
      if (immediate) {
        execute();
      } else {
        setDelay(lazy, rounded, execute);
      }
    }
    // Return the memoized result
    return result;
  }
  return lazy;
}
 
module.exports = createLazyFunction;
 
Code coverage report for node-npmtest-sugar/sugar/function/internal/setDelay.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/internal/setDelay.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 30% (3 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1       1                                 1  
'use strict';
 
var _timers = require('../var/_timers'),
    _canceled = require('../var/_canceled'),
    coercePositiveInteger = require('../../common/internal/coercePositiveInteger');
 
function setDelay(fn, ms, after, scope, args) {
  // Delay of infinity is never called of course...
  ms = coercePositiveInteger(ms || 0);
  if (!_timers(fn)) {
    _timers(fn, []);
  }
  // This is a workaround for <= IE8, which apparently has the
  // ability to call timeouts in the queue on the same tick (ms?)
  // even if functionally they have already been cleared.
  _canceled(fn, false);
  _timers(fn).push(setTimeout(function() {
    if (!_canceled(fn)) {
      after.apply(scope, args || []);
    }
  }, ms));
}
 
module.exports = setDelay;
 
Code coverage report for node-npmtest-sugar/sugar/function/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/

Statements: 76.92% (10 / 13)      Branches: 50% (1 / 2)      Functions: 0% (0 / 2)      Lines: 76.92% (10 / 13)      Ignored: none     

All files » node-npmtest-sugar/sugar/function/var/
File Statements Branches Functions Lines
_canceled.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
_lock.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
_partial.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
_timers.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
createInstanceFromPrototype.js 40% (2 / 5) 50% (1 / 2) 0% (0 / 2) 40% (2 / 5)
Code coverage report for node-npmtest-sugar/sugar/function/var/_canceled.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/_canceled.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var privatePropertyAccessor = require('../../common/internal/privatePropertyAccessor');
 
module.exports = privatePropertyAccessor('canceled');
 
Code coverage report for node-npmtest-sugar/sugar/function/var/_lock.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/_lock.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var privatePropertyAccessor = require('../../common/internal/privatePropertyAccessor');
 
module.exports = privatePropertyAccessor('lock');
 
Code coverage report for node-npmtest-sugar/sugar/function/var/_partial.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/_partial.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var privatePropertyAccessor = require('../../common/internal/privatePropertyAccessor');
 
module.exports = privatePropertyAccessor('partial');
 
Code coverage report for node-npmtest-sugar/sugar/function/var/_timers.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/_timers.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var privatePropertyAccessor = require('../../common/internal/privatePropertyAccessor');
 
module.exports = privatePropertyAccessor('timers');
 
Code coverage report for node-npmtest-sugar/sugar/function/var/createInstanceFromPrototype.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/function/var/createInstanceFromPrototype.js

Statements: 40% (2 / 5)      Branches: 50% (1 / 2)      Functions: 0% (0 / 2)      Lines: 40% (2 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/function/var/ » createInstanceFromPrototype.js
1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
var createInstanceFromPrototype = Object.create || function(prototype) {
  var ctor = function() {};
  ctor.prototype = prototype;
  return new ctor;
};
 
module.exports = createInstanceFromPrototype;
 
Code coverage report for node-npmtest-sugar/sugar/number/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/

Statements: 90.49% (390 / 431)      Branches: 0% (0 / 33)      Functions: 0% (0 / 20)      Lines: 90.7% (390 / 430)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/
File Statements Branches Functions Lines
abbr.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
abs.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
acos.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
asin.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
atan.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
bytes.js 44.44% (4 / 9) 0% (0 / 9) 0% (0 / 1) 44.44% (4 / 9)
cap.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
ceil.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
chr.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
clamp.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
cos.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
day.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
dayAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
dayAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
dayBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
dayFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
days.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
daysFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
downto.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
duration.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
exp.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
floor.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
format.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getOption.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
hex.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
hour.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hourAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hourAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hourBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hourFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hours.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
hoursFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
index.js 100% (32 / 32) 100% (0 / 0) 100% (0 / 0) 100% (32 / 32)
isEven.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isInteger.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isMultipleOf.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isOdd.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
log.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
metric.js 44.44% (4 / 9) 0% (0 / 4) 0% (0 / 1) 44.44% (4 / 9)
millisecond.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
milliseconds.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
millisecondsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minute.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minuteAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minuteAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minuteBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minuteFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutes.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
minutesFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
month.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
months.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
monthsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
ordinalize.js 66.67% (4 / 6) 100% (0 / 0) 0% (0 / 1) 66.67% (4 / 6)
pad.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
pow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
random.js 40% (4 / 10) 0% (0 / 10) 0% (0 / 1) 44.44% (4 / 9)
range.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
round.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
second.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
seconds.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
secondsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
setOption.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
sin.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
sqrt.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
tan.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
times.js 27.27% (3 / 11) 0% (0 / 4) 0% (0 / 1) 27.27% (3 / 11)
toNumber.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
upto.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
week.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weekAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weekAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weekBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weekFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeks.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
weeksFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
year.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
years.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsAfter.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsAgo.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsBefore.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
yearsFromNow.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
Code coverage report for node-npmtest-sugar/sugar/number/abbr.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/abbr.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1       1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    AbbreviationUnits = require('./var/AbbreviationUnits'),
    abbreviateNumber = require('./internal/abbreviateNumber');
 
var BASIC_UNITS = AbbreviationUnits.BASIC_UNITS;
 
Sugar.Number.defineInstance({
 
  'abbr': function(n, precision) {
    return abbreviateNumber(n, precision, BASIC_UNITS);
  }
 
});
 
module.exports = Sugar.Number.abbr;
 
Code coverage report for node-npmtest-sugar/sugar/number/abs.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/abs.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.abs;
 
Code coverage report for node-npmtest-sugar/sugar/number/acos.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/acos.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.acos;
 
Code coverage report for node-npmtest-sugar/sugar/number/asin.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/asin.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.asin;
 
Code coverage report for node-npmtest-sugar/sugar/number/atan.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/atan.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.atan;
 
Code coverage report for node-npmtest-sugar/sugar/number/bytes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/bytes.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 9)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1       1     1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    AbbreviationUnits = require('./var/AbbreviationUnits'),
    abbreviateNumber = require('./internal/abbreviateNumber');
 
var MEMORY_UNITS = AbbreviationUnits.MEMORY_UNITS,
    MEMORY_BINARY_UNITS = AbbreviationUnits.MEMORY_BINARY_UNITS;
 
Sugar.Number.defineInstance({
 
  'bytes': function(n, precision, binary, units) {
    if (units === 'binary' || (!units && binary)) {
      units = MEMORY_BINARY_UNITS;
    } else if(units === 'si' || !units) {
      units = MEMORY_UNITS;
    }
    return abbreviateNumber(n, precision, units, binary) + 'B';
  }
 
});
 
module.exports = Sugar.Number.bytes;
 
Code coverage report for node-npmtest-sugar/sugar/number/cap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/cap.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    Range = require('../range/internal/Range'),
    rangeClamp = require('../range/internal/rangeClamp');
 
Sugar.Number.defineInstance({
 
  'cap': function(n, max) {
    return rangeClamp(new Range(undefined, max), n);
  }
 
});
 
module.exports = Sugar.Number.cap;
 
Code coverage report for node-npmtest-sugar/sugar/number/ceil.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/ceil.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    mathAliases = require('../common/var/mathAliases'),
    createRoundingFunction = require('./internal/createRoundingFunction');
 
var ceil = mathAliases.ceil;
 
Sugar.Number.defineInstance({
 
  'ceil': createRoundingFunction(ceil)
 
});
 
module.exports = Sugar.Number.ceil;
 
Code coverage report for node-npmtest-sugar/sugar/number/chr.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/chr.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    chr = require('../common/var/chr');
 
Sugar.Number.defineInstance({
 
  'chr': function(n) {
    return chr(n);
  }
 
});
 
module.exports = Sugar.Number.chr;
 
Code coverage report for node-npmtest-sugar/sugar/number/clamp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/clamp.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    Range = require('../range/internal/Range'),
    rangeClamp = require('../range/internal/rangeClamp');
 
Sugar.Number.defineInstance({
 
  'clamp': function(n, start, end) {
    return rangeClamp(new Range(start, end), n);
  }
 
});
 
module.exports = Sugar.Number.clamp;
 
Code coverage report for node-npmtest-sugar/sugar/number/cos.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/cos.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.cos;
 
Code coverage report for node-npmtest-sugar/sugar/number/day.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/day.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.day;
 
Code coverage report for node-npmtest-sugar/sugar/number/dayAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/dayAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.dayAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/dayAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/dayAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.dayAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/dayBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/dayBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.dayBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/dayFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/dayFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.dayFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/days.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/days.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.days;
 
Code coverage report for node-npmtest-sugar/sugar/number/daysAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/daysAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.daysAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/daysAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/daysAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.daysAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/daysBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/daysBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.daysBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/daysFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/daysFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.daysFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/downto.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/downto.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9    1     1   1  
'use strict';
 
var Sugar = require('sugar-core'),
    upto = require('./upto');
 
Sugar.Number.alias('downto', 'upto');
 
module.exports = Sugar.Number.downto;
 
Code coverage report for node-npmtest-sugar/sugar/number/duration.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/duration.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LocaleHelpers = require('../date/var/LocaleHelpers');
 
var localeManager = LocaleHelpers.localeManager;
 
Sugar.Number.defineInstance({
 
  'duration': function(n, localeCode) {
    return localeManager.get(localeCode).getDuration(n);
  }
 
});
 
module.exports = Sugar.Number.duration;
 
Code coverage report for node-npmtest-sugar/sugar/number/exp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/exp.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.exp;
 
Code coverage report for node-npmtest-sugar/sugar/number/floor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/floor.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    mathAliases = require('../common/var/mathAliases'),
    createRoundingFunction = require('./internal/createRoundingFunction');
 
var floor = mathAliases.floor;
 
Sugar.Number.defineInstance({
 
  'floor': createRoundingFunction(floor)
 
});
 
module.exports = Sugar.Number.floor;
 
Code coverage report for node-npmtest-sugar/sugar/number/format.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/format.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    numberFormat = require('./internal/numberFormat');
 
Sugar.Number.defineInstance({
 
  'format': function(n, place) {
    return numberFormat(n, place);
  }
 
});
 
module.exports = Sugar.Number.format;
 
Code coverage report for node-npmtest-sugar/sugar/number/getOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/getOption.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7    1     1  
'use strict';
 
var Sugar = require('sugar-core'),
    _numberOptions = require('./var/_numberOptions');
 
module.exports = Sugar.Number.getOption;
 
Code coverage report for node-npmtest-sugar/sugar/number/hex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hex.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    padNumber = require('../common/internal/padNumber');
 
Sugar.Number.defineInstance({
 
  'hex': function(n, pad) {
    return padNumber(n, pad || 1, false, 16);
  }
 
});
 
module.exports = Sugar.Number.hex;
 
Code coverage report for node-npmtest-sugar/sugar/number/hour.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hour.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hour;
 
Code coverage report for node-npmtest-sugar/sugar/number/hourAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hourAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hourAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/hourAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hourAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hourAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/hourBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hourBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hourBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/hourFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hourFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hourFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/hours.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hours.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hours;
 
Code coverage report for node-npmtest-sugar/sugar/number/hoursAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hoursAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hoursAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/hoursAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hoursAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hoursAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/hoursBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hoursBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hoursBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/hoursFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/hoursFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.hoursFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/index.js

Statements: 100% (32 / 32)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (32 / 32)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41      1     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1 1   1  
'use strict';
 
// Static Methods
require('./random');
 
// Instance Methods
require('./abbr');
require('./abs');
require('./acos');
require('./asin');
require('./atan');
require('./bytes');
require('./ceil');
require('./chr');
require('./cos');
require('./exp');
require('./floor');
require('./format');
require('./hex');
require('./isEven');
require('./isInteger');
require('./isMultipleOf');
require('./isOdd');
require('./log');
require('./metric');
require('./ordinalize');
require('./pad');
require('./pow');
require('./round');
require('./sin');
require('./sqrt');
require('./tan');
require('./times');
require('./toNumber');
 
// Accessors
require('./getOption');
require('./setOption');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/number/isEven.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/isEven.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isMultipleOf = require('./internal/isMultipleOf');
 
Sugar.Number.defineInstance({
 
  'isEven': function(n) {
    return isMultipleOf(n, 2);
  }
 
});
 
module.exports = Sugar.Number.isEven;
 
Code coverage report for node-npmtest-sugar/sugar/number/isInteger.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/isInteger.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isInteger = require('./internal/isInteger');
 
Sugar.Number.defineInstance({
 
  'isInteger': function(n) {
    return isInteger(n);
  }
 
});
 
module.exports = Sugar.Number.isInteger;
 
Code coverage report for node-npmtest-sugar/sugar/number/isMultipleOf.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/isMultipleOf.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isMultipleOf = require('./internal/isMultipleOf');
 
Sugar.Number.defineInstance({
 
  'isMultipleOf': function(n, num) {
    return isMultipleOf(n, num);
  }
 
});
 
module.exports = Sugar.Number.isMultipleOf;
 
Code coverage report for node-npmtest-sugar/sugar/number/isOdd.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/isOdd.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isInteger = require('./internal/isInteger'),
    isMultipleOf = require('./internal/isMultipleOf');
 
Sugar.Number.defineInstance({
 
  'isOdd': function(n) {
    return isInteger(n) && !isMultipleOf(n, 2);
  }
 
});
 
module.exports = Sugar.Number.isOdd;
 
Code coverage report for node-npmtest-sugar/sugar/number/log.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/log.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Number.defineInstance({
 
  'log': function(n, base) {
    return Math.log(n) / (base ? Math.log(base) : 1);
  }
 
});
 
module.exports = Sugar.Number.log;
 
Code coverage report for node-npmtest-sugar/sugar/number/metric.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/metric.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1       1     1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    AbbreviationUnits = require('./var/AbbreviationUnits'),
    abbreviateNumber = require('./internal/abbreviateNumber');
 
var METRIC_UNITS_SHORT = AbbreviationUnits.METRIC_UNITS_SHORT,
    METRIC_UNITS_FULL = AbbreviationUnits.METRIC_UNITS_FULL;
 
Sugar.Number.defineInstance({
 
  'metric': function(n, precision, units) {
    if (units === 'all') {
      units = METRIC_UNITS_FULL;
    } else if (!units) {
      units = METRIC_UNITS_SHORT;
    }
    return abbreviateNumber(n, precision, units);
  }
 
});
 
module.exports = Sugar.Number.metric;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecond.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecond.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecond;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/ » millisecondBefore.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/ » millisecondFromNow.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/milliseconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/milliseconds.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.milliseconds;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondsAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondsAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/ » millisecondsAfter.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondsAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondsBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondsBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/ » millisecondsBefore.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondsBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/millisecondsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/millisecondsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/ » millisecondsFromNow.js
1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.millisecondsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/minute.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minute.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minute;
 
Code coverage report for node-npmtest-sugar/sugar/number/minuteAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minuteAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minuteAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/minuteAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minuteAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minuteAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/minuteBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minuteBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minuteBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/minuteFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minuteFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minuteFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/minutes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minutes.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minutes;
 
Code coverage report for node-npmtest-sugar/sugar/number/minutesAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minutesAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minutesAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/minutesAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minutesAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minutesAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/minutesBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minutesBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minutesBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/minutesFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/minutesFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.minutesFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/month.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/month.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.month;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/months.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/months.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.months;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthsAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthsAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthsAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthsBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthsBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthsBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/monthsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/monthsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.monthsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/ordinalize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/ordinalize.js

Statements: 66.67% (4 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1       1   1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    mathAliases = require('../common/var/mathAliases'),
    getOrdinalSuffix = require('../common/internal/getOrdinalSuffix');
 
var abs = mathAliases.abs;
 
Sugar.Number.defineInstance({
 
  'ordinalize': function(n) {
    var num = abs(n), last = +num.toString().slice(-2);
    return n + getOrdinalSuffix(last);
  }
 
});
 
module.exports = Sugar.Number.ordinalize;
 
Code coverage report for node-npmtest-sugar/sugar/number/pad.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/pad.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    padNumber = require('../common/internal/padNumber');
 
Sugar.Number.defineInstance({
 
  'pad': function(n, place, sign, base) {
    return padNumber(n, place, sign, base);
  }
 
});
 
module.exports = Sugar.Number.pad;
 
Code coverage report for node-npmtest-sugar/sugar/number/pow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/pow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.pow;
 
Code coverage report for node-npmtest-sugar/sugar/number/random.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/random.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 10)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1         1     1                       1  
'use strict';
 
var Sugar = require('sugar-core'),
    trunc = require('../common/var/trunc'),
    mathAliases = require('../common/var/mathAliases'),
    isUndefined = require('../common/internal/isUndefined');
 
var min = mathAliases.min,
    max = mathAliases.max;
 
Sugar.Number.defineStatic({
 
  'random': function(n1, n2) {
    var minNum, maxNum;
    if (arguments.length == 1) n2 = n1, n1 = 0;
    minNum = min(n1 || 0, isUndefined(n2) ? 1 : n2);
    maxNum = max(n1 || 0, isUndefined(n2) ? 1 : n2) + 1;
    return trunc((Math.random() * (maxNum - minNum)) + minNum);
  }
 
});
 
module.exports = Sugar.Number.random;
 
Code coverage report for node-npmtest-sugar/sugar/number/range.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/range.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    PrimitiveRangeConstructor = require('../range/var/PrimitiveRangeConstructor');
 
Sugar.Number.defineStatic({
 
  'range': PrimitiveRangeConstructor
 
});
 
module.exports = Sugar.Number.range;
 
Code coverage report for node-npmtest-sugar/sugar/number/round.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/round.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    mathAliases = require('../common/var/mathAliases'),
    createRoundingFunction = require('./internal/createRoundingFunction');
 
var round = mathAliases.round;
 
Sugar.Number.defineInstance({
 
  'round': createRoundingFunction(round)
 
});
 
module.exports = Sugar.Number.round;
 
Code coverage report for node-npmtest-sugar/sugar/number/second.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/second.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.second;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/seconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/seconds.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.seconds;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondsAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondsAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondsAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondsBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondsBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondsBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/secondsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/secondsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.secondsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/setOption.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/setOption.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7    1     1  
'use strict';
 
var Sugar = require('sugar-core'),
    _numberOptions = require('./var/_numberOptions');
 
module.exports = Sugar.Number.setOption;
 
Code coverage report for node-npmtest-sugar/sugar/number/sin.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/sin.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.sin;
 
Code coverage report for node-npmtest-sugar/sugar/number/sqrt.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/sqrt.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.sqrt;
 
Code coverage report for node-npmtest-sugar/sugar/number/tan.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/tan.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildMathAliasesCall');
 
module.exports = Sugar.Number.tan;
 
Code coverage report for node-npmtest-sugar/sugar/number/times.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/times.js

Statements: 27.27% (3 / 11)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 27.27% (3 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25    1     1                                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    isDefined = require('../common/internal/isDefined');
 
Sugar.Number.defineInstance({
 
  'times': function(n, fn) {
    var arr, result;
    for(var i = 0; i < n; i++) {
      result = fn.call(n, i);
      if (isDefined(result)) {
        if (!arr) {
          arr = [];
        }
        arr.push(result);
      }
    }
    return arr;
  }
 
});
 
module.exports = Sugar.Number.times;
 
Code coverage report for node-npmtest-sugar/sugar/number/toNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/toNumber.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.Number.defineInstance({
 
  'toNumber': function(n) {
    return n.valueOf();
  }
 
});
 
module.exports = Sugar.Number.toNumber;
 
Code coverage report for node-npmtest-sugar/sugar/number/upto.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/upto.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    Range = require('../range/internal/Range'),
    rangeEvery = require('../range/internal/rangeEvery');
 
Sugar.Number.defineInstance({
 
  'upto': function(n, num, step, fn) {
    return rangeEvery(new Range(n, num), step, false, fn);
  }
 
});
 
module.exports = Sugar.Number.upto;
 
Code coverage report for node-npmtest-sugar/sugar/number/week.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/week.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.week;
 
Code coverage report for node-npmtest-sugar/sugar/number/weekAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weekAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weekAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/weekAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weekAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weekAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/weekBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weekBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weekBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/weekFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weekFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weekFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/weeks.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weeks.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weeks;
 
Code coverage report for node-npmtest-sugar/sugar/number/weeksAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weeksAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weeksAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/weeksAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weeksAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weeksAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/weeksBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weeksBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weeksBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/weeksFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/weeksFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.weeksFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/year.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/year.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.year;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/years.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/years.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.years;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearsAfter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearsAfter.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearsAfter;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearsAgo.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearsAgo.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearsAgo;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearsBefore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearsBefore.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearsBefore;
 
Code coverage report for node-npmtest-sugar/sugar/number/yearsFromNow.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/yearsFromNow.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('../date/build/buildNumberUnitMethodsCall');
 
module.exports = Sugar.Number.yearsFromNow;
 
Code coverage report for node-npmtest-sugar/sugar/number/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/build/

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/build/
File Statements Branches Functions Lines
buildMathAliasesCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/number/build/buildMathAliasesCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/build/buildMathAliasesCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var buildMathAliases = require('../internal/buildMathAliases');
 
buildMathAliases();
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/

Statements: 33.85% (22 / 65)      Branches: 0% (0 / 34)      Functions: 33.33% (3 / 9)      Lines: 33.85% (22 / 65)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/internal/
File Statements Branches Functions Lines
abbreviateNumber.js 16.67% (4 / 24) 0% (0 / 18) 0% (0 / 1) 16.67% (4 / 24)
buildMathAliases.js 85.71% (6 / 7) 100% (0 / 0) 66.67% (2 / 3) 85.71% (6 / 7)
createRoundingFunction.js 80% (4 / 5) 0% (0 / 2) 50% (1 / 2) 80% (4 / 5)
isInteger.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
isMultipleOf.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
numberFormat.js 17.39% (4 / 23) 0% (0 / 14) 0% (0 / 1) 17.39% (4 / 23)
Code coverage report for node-npmtest-sugar/sugar/number/internal/abbreviateNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/abbreviateNumber.js

Statements: 16.67% (4 / 24)      Branches: 0% (0 / 18)      Functions: 0% (0 / 1)      Lines: 16.67% (4 / 24)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50    1         1           1                                                                     1  
'use strict';
 
var commaSplit = require('../../common/internal/commaSplit'),
    mathAliases = require('../../common/var/mathAliases'),
    numberFormat = require('./numberFormat'),
    withPrecision = require('../../common/internal/withPrecision');
 
var abs = mathAliases.abs,
    pow = mathAliases.pow,
    min = mathAliases.min,
    max = mathAliases.max,
    floor = mathAliases.floor;
 
function abbreviateNumber(num, precision, ustr, bytes) {
  var fixed        = num.toFixed(20),
      decimalPlace = fixed.search(/\./),
      numeralPlace = fixed.search(/[1-9]/),
      significant  = decimalPlace - numeralPlace,
      units, unit, mid, i, divisor;
  if (significant > 0) {
    significant -= 1;
  }
  units = commaSplit(ustr);
  if (units.length === 1) {
    units = ustr.split('');
  }
  mid = units.indexOf('|');
  if (mid === -1) {
    // Skipping the placeholder means the units should start from zero,
    // otherwise assume they end at zero.
    mid = units[0] === '_' ? 0 : units.length;
  }
  i = max(min(floor(significant / 3), units.length - mid - 1), -mid);
  unit = units[i + mid];
  while (unit === '_') {
    i += i < 0 ? -1 : 1;
    unit = units[i + mid];
  }
  if (unit === '|') {
    unit = '';
  }
  if (significant < -9) {
    precision = abs(significant) - 9;
  }
  divisor = bytes ? pow(2, 10 * i) : pow(10, i * 3);
  return numberFormat(withPrecision(num / divisor, precision || 0)) + unit;
}
 
module.exports = abbreviateNumber;
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/buildMathAliases.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/buildMathAliases.js

Statements: 85.71% (6 / 7)      Branches: 100% (0 / 0)      Functions: 66.67% (2 / 3)      Lines: 85.71% (6 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1     1   1 1 11                   1  
'use strict';
 
var namespaceAliases = require('../../common/var/namespaceAliases'),
    defineInstanceSimilar = require('../../common/internal/defineInstanceSimilar');
 
var sugarNumber = namespaceAliases.sugarNumber;
 
function buildMathAliases() {
  defineInstanceSimilar(sugarNumber, 'abs pow sin asin cos acos tan atan exp pow sqrt', function(methods, name) {
    methods[name] = function(n, arg) {
      // Note that .valueOf() here is only required due to a
      // very strange bug in iOS7 that only occurs occasionally
      // in which Math.abs() called on non-primitive numbers
      // returns a completely different number (Issue #400)
      return Math[name](n.valueOf(), arg);
    };
  });
}
 
module.exports = buildMathAliases;
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/createRoundingFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/createRoundingFunction.js

Statements: 80% (4 / 5)      Branches: 0% (0 / 2)      Functions: 50% (1 / 2)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1 3         1  
'use strict';
 
var withPrecision = require('../../common/internal/withPrecision');
 
function createRoundingFunction(fn) {
  return function(n, precision) {
    return precision ? withPrecision(n, precision, fn) : fn(n);
  };
}
 
module.exports = createRoundingFunction;
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/isInteger.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/isInteger.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function isInteger(n) {
  return n % 1 === 0;
}
 
module.exports = isInteger;
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/isMultipleOf.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/isMultipleOf.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function isMultipleOf(n1, n2) {
  return n1 % n2 === 0;
}
 
module.exports = isMultipleOf;
 
Code coverage report for node-npmtest-sugar/sugar/number/internal/numberFormat.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/internal/numberFormat.js

Statements: 17.39% (4 / 23)      Branches: 0% (0 / 14)      Functions: 0% (0 / 1)      Lines: 17.39% (4 / 23)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46    1             1     1                                                               1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    mathAliases = require('../../common/var/mathAliases'),
    periodSplit = require('../../common/internal/periodSplit'),
    repeatString = require('../../common/internal/repeatString'),
    withPrecision = require('../../common/internal/withPrecision'),
    _numberOptions = require('../var/_numberOptions');
 
var isNumber = classChecks.isNumber,
    max = mathAliases.max;
 
function numberFormat(num, place) {
  var result = '', thousands, decimal, fraction, integer, split, str;
 
  decimal   = _numberOptions('decimal');
  thousands = _numberOptions('thousands');
 
  if (isNumber(place)) {
    str = withPrecision(num, place || 0).toFixed(max(place, 0));
  } else {
    str = num.toString();
  }
 
  str = str.replace(/^-/, '');
  split    = periodSplit(str);
  integer  = split[0];
  fraction = split[1];
  if (/e/.test(str)) {
    result = str;
  } else {
    for(var i = integer.length; i > 0; i -= 3) {
      if (i < integer.length) {
        result = thousands + result;
      }
      result = integer.slice(max(0, i - 3), i) + result;
    }
  }
  if (fraction) {
    result += decimal + repeatString('0', (place || 0) - fraction.length) + fraction;
  }
  return (num < 0 ? '-' : '') + result;
}
 
module.exports = numberFormat;
 
Code coverage report for node-npmtest-sugar/sugar/number/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/var/

Statements: 100% (8 / 8)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (8 / 8)      Ignored: none     

All files » node-npmtest-sugar/sugar/number/var/
File Statements Branches Functions Lines
AbbreviationUnits.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
NUMBER_OPTIONS.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
_numberOptions.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
Code coverage report for node-npmtest-sugar/sugar/number/var/AbbreviationUnits.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/var/AbbreviationUnits.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1              
'use strict';
 
module.exports = {
  BASIC_UNITS: '|kmbt',
  MEMORY_UNITS: '|KMGTPE',
  MEMORY_BINARY_UNITS: '|,Ki,Mi,Gi,Ti,Pi,Ei',
  METRIC_UNITS_SHORT: 'nμm|k',
  METRIC_UNITS_FULL: 'yzafpnμm|KMGTPEZY'
};
 
Code coverage report for node-npmtest-sugar/sugar/number/var/NUMBER_OPTIONS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/var/NUMBER_OPTIONS.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1     1         1  
'use strict';
 
var CommonChars = require('../../common/var/CommonChars');
 
var HALF_WIDTH_PERIOD = CommonChars.HALF_WIDTH_PERIOD,
    HALF_WIDTH_COMMA = CommonChars.HALF_WIDTH_COMMA;
 
var NUMBER_OPTIONS = {
  'decimal': HALF_WIDTH_PERIOD,
  'thousands': HALF_WIDTH_COMMA
};
 
module.exports = NUMBER_OPTIONS;
 
Code coverage report for node-npmtest-sugar/sugar/number/var/_numberOptions.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/number/var/_numberOptions.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1       1   1  
'use strict';
 
var NUMBER_OPTIONS = require('./NUMBER_OPTIONS'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineOptionsAccessor = require('../../common/internal/defineOptionsAccessor');
 
var sugarNumber = namespaceAliases.sugarNumber;
 
module.exports = defineOptionsAccessor(sugarNumber, NUMBER_OPTIONS);
 
Code coverage report for node-npmtest-sugar/sugar/object/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/

Statements: 80.74% (197 / 244)      Branches: 0% (0 / 6)      Functions: 0% (0 / 40)      Lines: 80.74% (197 / 244)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/
File Statements Branches Functions Lines
add.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
addAll.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
average.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
clone.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
count.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
defaults.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
every.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
exclude.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
filter.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
find.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
forEach.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
fromQueryString.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
get.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
has.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
index.js 100% (37 / 37) 100% (0 / 0) 100% (0 / 0) 100% (37 / 37)
intersect.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
invert.js 30.77% (4 / 13) 0% (0 / 6) 0% (0 / 2) 30.77% (4 / 13)
isArguments.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isArray.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isBoolean.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isDate.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isEmpty.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isEqual.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isError.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isFunction.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isMap.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isNumber.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isObject.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isRegExp.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isSet.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
isString.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
keys.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
least.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
map.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
max.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
median.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
merge.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
mergeAll.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
min.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
most.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
none.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
reduce.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
reject.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
remove.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
select.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
set.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
size.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
some.js 100% (4 / 4) 100% (0 / 0) 100% (0 / 0) 100% (4 / 4)
subtract.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
sum.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
tap.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
toQueryString.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
values.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
Code coverage report for node-npmtest-sugar/sugar/object/add.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/add.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    clone = require('./internal/clone'),
    mergeWithOptions = require('./internal/mergeWithOptions');
 
Sugar.Object.defineInstanceAndStatic({
 
  'add': function(obj1, obj2, opts) {
    return mergeWithOptions(clone(obj1), obj2, opts);
  }
 
});
 
module.exports = Sugar.Object.add;
 
Code coverage report for node-npmtest-sugar/sugar/object/addAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/addAll.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    clone = require('./internal/clone'),
    mergeAll = require('./internal/mergeAll');
 
Sugar.Object.defineInstanceAndStatic({
 
  'addAll': function(obj, sources, opts) {
    return mergeAll(clone(obj), sources, opts);
  }
 
});
 
module.exports = Sugar.Object.addAll;
 
Code coverage report for node-npmtest-sugar/sugar/object/average.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/average.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    average = require('../enumerable/internal/average');
 
Sugar.Object.defineInstanceAndStatic({
 
  'average': function(obj, map) {
    return average(obj, map);
  }
 
});
 
module.exports = Sugar.Object.average;
 
Code coverage report for node-npmtest-sugar/sugar/object/clone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/clone.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    clone = require('./internal/clone');
 
Sugar.Object.defineInstanceAndStatic({
 
  'clone': function(obj, deep) {
    return clone(obj, deep);
  }
 
});
 
module.exports = Sugar.Object.clone;
 
Code coverage report for node-npmtest-sugar/sugar/object/count.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/count.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectCount = require('../enumerable/internal/objectCount');
 
Sugar.Object.defineInstanceAndStatic({
 
  'count': function(obj, f) {
    return objectCount(obj, f);
  }
 
});
 
module.exports = Sugar.Object.count;
 
Code coverage report for node-npmtest-sugar/sugar/object/defaults.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/defaults.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    defaults = require('./internal/defaults');
 
Sugar.Object.defineInstanceAndStatic({
 
  'defaults': function(target, sources, opts) {
    return defaults(target, sources, opts);
  }
 
});
 
module.exports = Sugar.Object.defaults;
 
Code coverage report for node-npmtest-sugar/sugar/object/every.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/every.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectMatchers = require('../enumerable/var/objectMatchers');
 
var objectEvery = objectMatchers.objectEvery;
 
Sugar.Object.defineInstanceAndStatic({
 
  'every': objectEvery
 
});
 
module.exports = Sugar.Object.every;
 
Code coverage report for node-npmtest-sugar/sugar/object/exclude.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/exclude.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectExclude = require('./internal/objectExclude');
 
Sugar.Object.defineInstanceAndStatic({
 
  'exclude': function(obj, f) {
    return objectExclude(obj, f);
  }
 
});
 
module.exports = Sugar.Object.exclude;
 
Code coverage report for node-npmtest-sugar/sugar/object/filter.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/filter.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectFilter = require('../enumerable/internal/objectFilter');
 
Sugar.Object.defineInstanceAndStatic({
 
  'filter': function(obj, f) {
    return objectFilter(obj, f);
  }
 
});
 
module.exports = Sugar.Object.filter;
 
Code coverage report for node-npmtest-sugar/sugar/object/find.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/find.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectMatchers = require('../enumerable/var/objectMatchers');
 
var objectFind = objectMatchers.objectFind;
 
Sugar.Object.defineInstanceAndStatic({
 
  'find': objectFind
 
});
 
module.exports = Sugar.Object.find;
 
Code coverage report for node-npmtest-sugar/sugar/object/forEach.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/forEach.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectForEach = require('../enumerable/internal/objectForEach');
 
Sugar.Object.defineInstanceAndStatic({
 
  'forEach': function(obj, fn) {
    return objectForEach(obj, fn);
  }
 
});
 
module.exports = Sugar.Object.forEach;
 
Code coverage report for node-npmtest-sugar/sugar/object/fromQueryString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/fromQueryString.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    fromQueryStringWithOptions = require('./internal/fromQueryStringWithOptions');
 
Sugar.Object.defineStatic({
 
  'fromQueryString': function(obj, options) {
    return fromQueryStringWithOptions(obj, options);
  }
 
});
 
module.exports = Sugar.Object.fromQueryString;
 
Code coverage report for node-npmtest-sugar/sugar/object/get.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/get.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    deepGetProperty = require('../common/internal/deepGetProperty');
 
Sugar.Object.defineInstanceAndStatic({
 
  'get': function(obj, key, any) {
    return deepGetProperty(obj, key, any);
  }
 
});
 
module.exports = Sugar.Object.get;
 
Code coverage report for node-npmtest-sugar/sugar/object/has.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/has.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    deepHasProperty = require('../common/internal/deepHasProperty');
 
Sugar.Object.defineInstanceAndStatic({
 
  'has': function(obj, key, any) {
    return deepHasProperty(obj, key, any);
  }
 
});
 
module.exports = Sugar.Object.has;
 
Code coverage report for node-npmtest-sugar/sugar/object/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/index.js

Statements: 100% (37 / 37)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (37 / 37)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44      1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1   1  
'use strict';
 
// Static Methods
require('./add');
require('./addAll');
require('./clone');
require('./defaults');
require('./exclude');
require('./fromQueryString');
require('./get');
require('./has');
require('./intersect');
require('./invert');
require('./isArguments');
require('./isArray');
require('./isBoolean');
require('./isDate');
require('./isEmpty');
require('./isEqual');
require('./isError');
require('./isFunction');
require('./isMap');
require('./isNumber');
require('./isObject');
require('./isRegExp');
require('./isSet');
require('./isString');
require('./merge');
require('./mergeAll');
require('./reject');
require('./remove');
require('./select');
require('./set');
require('./size');
require('./subtract');
require('./tap');
require('./toQueryString');
require('./values');
 
// Instance Methods
require('./keys');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/object/intersect.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/intersect.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectIntersectOrSubtract = require('./internal/objectIntersectOrSubtract');
 
Sugar.Object.defineInstanceAndStatic({
 
  'intersect': function(obj1, obj2) {
    return objectIntersectOrSubtract(obj1, obj2, false);
  }
 
});
 
module.exports = Sugar.Object.intersect;
 
Code coverage report for node-npmtest-sugar/sugar/object/invert.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/invert.js

Statements: 30.77% (4 / 13)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 30.77% (4 / 13)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29    1     1     1                                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    coreUtilityAliases = require('../common/var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn,
    forEachProperty = coreUtilityAliases.forEachProperty;
 
Sugar.Object.defineInstanceAndStatic({
 
  'invert': function(obj, multi) {
    var result = {};
    multi = multi === true;
    forEachProperty(obj, function(val, key) {
      if (hasOwn(result, val) && multi) {
        result[val].push(key);
      } else if (multi) {
        result[val] = [key];
      } else {
        result[val] = key;
      }
    });
    return result;
  }
 
});
 
module.exports = Sugar.Object.invert;
 
Code coverage report for node-npmtest-sugar/sugar/object/isArguments.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isArguments.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isArguments = require('./internal/isArguments');
 
Sugar.Object.defineInstanceAndStatic({
 
  'isArguments': function(obj) {
    return isArguments(obj);
  }
 
});
 
module.exports = Sugar.Object.isArguments;
 
Code coverage report for node-npmtest-sugar/sugar/object/isArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isArray.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isArray;
 
Code coverage report for node-npmtest-sugar/sugar/object/isBoolean.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isBoolean.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isBoolean;
 
Code coverage report for node-npmtest-sugar/sugar/object/isDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isDate.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isDate;
 
Code coverage report for node-npmtest-sugar/sugar/object/isEmpty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isEmpty.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectSize = require('./internal/objectSize');
 
Sugar.Object.defineInstanceAndStatic({
 
  'isEmpty': function(obj) {
    return objectSize(obj) === 0;
  }
 
});
 
module.exports = Sugar.Object.isEmpty;
 
Code coverage report for node-npmtest-sugar/sugar/object/isEqual.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isEqual.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isEqual = require('../common/internal/isEqual');
 
Sugar.Object.defineInstanceAndStatic({
 
  'isEqual': function(obj1, obj2) {
    return isEqual(obj1, obj2);
  }
 
});
 
module.exports = Sugar.Object.isEqual;
 
Code coverage report for node-npmtest-sugar/sugar/object/isError.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isError.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isError;
 
Code coverage report for node-npmtest-sugar/sugar/object/isFunction.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isFunction.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isFunction;
 
Code coverage report for node-npmtest-sugar/sugar/object/isMap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isMap.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isMap;
 
Code coverage report for node-npmtest-sugar/sugar/object/isNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isNumber.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isNumber;
 
Code coverage report for node-npmtest-sugar/sugar/object/isObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isObject.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    isPlainObject = require('../common/internal/isPlainObject');
 
Sugar.Object.defineInstanceAndStatic({
 
  'isObject': function(obj) {
    return isPlainObject(obj);
  }
 
});
 
module.exports = Sugar.Object.isObject;
 
Code coverage report for node-npmtest-sugar/sugar/object/isRegExp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isRegExp.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isRegExp;
 
Code coverage report for node-npmtest-sugar/sugar/object/isSet.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isSet.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isSet;
 
Code coverage report for node-npmtest-sugar/sugar/object/isString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/isString.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1   1   1  
'use strict';
 
var Sugar = require('sugar-core');
 
require('./build/buildClassCheckMethodsCall');
 
module.exports = Sugar.Object.isString;
 
Code coverage report for node-npmtest-sugar/sugar/object/keys.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/keys.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getKeys = require('../common/internal/getKeys');
 
Sugar.Object.defineInstance({
 
  'keys': function(obj) {
    return getKeys(obj);
  }
 
});
 
module.exports = Sugar.Object.keys;
 
Code coverage report for node-npmtest-sugar/sugar/object/least.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/least.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getLeastOrMost = require('../enumerable/internal/getLeastOrMost');
 
Sugar.Object.defineInstanceAndStatic({
 
  'least': function(obj, all, map) {
    return getLeastOrMost(obj, all, map, false, true);
  }
 
});
 
module.exports = Sugar.Object.least;
 
Code coverage report for node-npmtest-sugar/sugar/object/map.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/map.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectMap = require('../enumerable/internal/objectMap');
 
Sugar.Object.defineInstanceAndStatic({
 
  'map': function(obj, map) {
    return objectMap(obj, map);
  }
 
});
 
module.exports = Sugar.Object.map;
 
Code coverage report for node-npmtest-sugar/sugar/object/max.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/max.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getMinOrMax = require('../enumerable/internal/getMinOrMax');
 
Sugar.Object.defineInstanceAndStatic({
 
  'max': function(obj, all, map) {
    return getMinOrMax(obj, all, map, true, true);
  }
 
});
 
module.exports = Sugar.Object.max;
 
Code coverage report for node-npmtest-sugar/sugar/object/median.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/median.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    median = require('../enumerable/internal/median');
 
Sugar.Object.defineInstanceAndStatic({
 
  'median': function(obj, map) {
    return median(obj, map);
  }
 
});
 
module.exports = Sugar.Object.median;
 
Code coverage report for node-npmtest-sugar/sugar/object/merge.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/merge.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    mergeWithOptions = require('./internal/mergeWithOptions');
 
Sugar.Object.defineInstanceAndStatic({
 
  'merge': function(target, source, opts) {
    return mergeWithOptions(target, source, opts);
  }
 
});
 
module.exports = Sugar.Object.merge;
 
Code coverage report for node-npmtest-sugar/sugar/object/mergeAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/mergeAll.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    mergeAll = require('./internal/mergeAll');
 
Sugar.Object.defineInstanceAndStatic({
 
  'mergeAll': function(target, sources, opts) {
    return mergeAll(target, sources, opts);
  }
 
});
 
module.exports = Sugar.Object.mergeAll;
 
Code coverage report for node-npmtest-sugar/sugar/object/min.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/min.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getMinOrMax = require('../enumerable/internal/getMinOrMax');
 
Sugar.Object.defineInstanceAndStatic({
 
  'min': function(obj, all, map) {
    return getMinOrMax(obj, all, map, false, true);
  }
 
});
 
module.exports = Sugar.Object.min;
 
Code coverage report for node-npmtest-sugar/sugar/object/most.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/most.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getLeastOrMost = require('../enumerable/internal/getLeastOrMost');
 
Sugar.Object.defineInstanceAndStatic({
 
  'most': function(obj, all, map) {
    return getLeastOrMost(obj, all, map, true, true);
  }
 
});
 
module.exports = Sugar.Object.most;
 
Code coverage report for node-npmtest-sugar/sugar/object/none.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/none.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectNone = require('../enumerable/internal/objectNone');
 
Sugar.Object.defineInstanceAndStatic({
 
  'none': function(obj, f) {
    return objectNone(obj, f);
  }
 
});
 
module.exports = Sugar.Object.none;
 
Code coverage report for node-npmtest-sugar/sugar/object/reduce.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/reduce.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectReduce = require('../enumerable/internal/objectReduce');
 
Sugar.Object.defineInstanceAndStatic({
 
  'reduce': function(obj, fn, init) {
    return objectReduce(obj, fn, init);
  }
 
});
 
module.exports = Sugar.Object.reduce;
 
Code coverage report for node-npmtest-sugar/sugar/object/reject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/reject.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectReject = require('./internal/objectReject');
 
Sugar.Object.defineInstanceAndStatic({
 
  'reject': function(obj, f) {
    return objectReject(obj, f);
  }
 
});
 
module.exports = Sugar.Object.reject;
 
Code coverage report for node-npmtest-sugar/sugar/object/remove.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/remove.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectRemove = require('./internal/objectRemove');
 
Sugar.Object.defineInstanceAndStatic({
 
  'remove': function(obj, f) {
    return objectRemove(obj, f);
  }
 
});
 
module.exports = Sugar.Object.remove;
 
Code coverage report for node-npmtest-sugar/sugar/object/select.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/select.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectSelect = require('./internal/objectSelect');
 
Sugar.Object.defineInstanceAndStatic({
 
  'select': function(obj, f) {
    return objectSelect(obj, f);
  }
 
});
 
module.exports = Sugar.Object.select;
 
Code coverage report for node-npmtest-sugar/sugar/object/set.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/set.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    deepSetProperty = require('../common/internal/deepSetProperty');
 
Sugar.Object.defineInstanceAndStatic({
 
  'set': function(obj, key, val) {
    return deepSetProperty(obj, key, val);
  }
 
});
 
module.exports = Sugar.Object.set;
 
Code coverage report for node-npmtest-sugar/sugar/object/size.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/size.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectSize = require('./internal/objectSize');
 
Sugar.Object.defineInstanceAndStatic({
 
  'size': function(obj) {
    return objectSize(obj);
  }
 
});
 
module.exports = Sugar.Object.size;
 
Code coverage report for node-npmtest-sugar/sugar/object/some.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/some.js

Statements: 100% (4 / 4)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (4 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1   1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectMatchers = require('../enumerable/var/objectMatchers');
 
var objectSome = objectMatchers.objectSome;
 
Sugar.Object.defineInstanceAndStatic({
 
  'some': objectSome
 
});
 
module.exports = Sugar.Object.some;
 
Code coverage report for node-npmtest-sugar/sugar/object/subtract.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/subtract.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    objectIntersectOrSubtract = require('./internal/objectIntersectOrSubtract');
 
Sugar.Object.defineInstanceAndStatic({
 
  'subtract': function(obj1, obj2) {
    return objectIntersectOrSubtract(obj1, obj2, true);
  }
 
});
 
module.exports = Sugar.Object.subtract;
 
Code coverage report for node-npmtest-sugar/sugar/object/sum.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/sum.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    sum = require('../enumerable/internal/sum');
 
Sugar.Object.defineInstanceAndStatic({
 
  'sum': function(obj, map) {
    return sum(obj, map);
  }
 
});
 
module.exports = Sugar.Object.sum;
 
Code coverage report for node-npmtest-sugar/sugar/object/tap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/tap.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    tap = require('./internal/tap');
 
Sugar.Object.defineInstanceAndStatic({
 
  'tap': function(obj, arg) {
    return tap(obj, arg);
  }
 
});
 
module.exports = Sugar.Object.tap;
 
Code coverage report for node-npmtest-sugar/sugar/object/toQueryString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/toQueryString.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    toQueryStringWithOptions = require('./internal/toQueryStringWithOptions');
 
Sugar.Object.defineInstanceAndStatic({
 
  'toQueryString': function(obj, options) {
    return toQueryStringWithOptions(obj, options);
  }
 
});
 
module.exports = Sugar.Object.toQueryString;
 
Code coverage report for node-npmtest-sugar/sugar/object/values.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/values.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getValues = require('./internal/getValues');
 
Sugar.Object.defineInstanceAndStatic({
 
  'values': function(obj) {
    return getValues(obj);
  }
 
});
 
module.exports = Sugar.Object.values;
 
Code coverage report for node-npmtest-sugar/sugar/object/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/build/

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/build/
File Statements Branches Functions Lines
buildClassCheckMethodsCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/object/build/buildClassCheckMethodsCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/build/buildClassCheckMethodsCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/build/ » buildClassCheckMethodsCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildClassCheckMethods = require('../internal/buildClassCheckMethods');
 
buildClassCheckMethods();
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/

Statements: 36.59% (120 / 328)      Branches: 0% (0 / 178)      Functions: 4.26% (2 / 47)      Lines: 36.7% (120 / 327)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/
File Statements Branches Functions Lines
buildClassCheckMethods.js 100% (7 / 7) 100% (0 / 0) 100% (2 / 2) 100% (7 / 7)
clone.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
defaults.js 50% (3 / 6) 0% (0 / 4) 0% (0 / 1) 50% (3 / 6)
fromQueryStringWithOptions.js 23.08% (3 / 13) 0% (0 / 8) 0% (0 / 2) 23.08% (3 / 13)
getKeysWithObjectCoercion.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getNewObjectForMerge.js 25% (4 / 16) 0% (0 / 12) 0% (0 / 1) 25% (4 / 16)
getQueryValueAuto.js 23.53% (4 / 17) 0% (0 / 16) 0% (0 / 1) 23.53% (4 / 17)
getURIComponentValue.js 36.36% (4 / 11) 0% (0 / 4) 0% (0 / 1) 36.36% (4 / 11)
getValues.js 50% (4 / 8) 100% (0 / 0) 0% (0 / 2) 50% (4 / 8)
isArguments.js 66.67% (4 / 6) 0% (0 / 5) 0% (0 / 1) 66.67% (4 / 6)
iterateOverKeys.js 37.5% (3 / 8) 0% (0 / 4) 0% (0 / 1) 37.5% (3 / 8)
iterateOverProperties.js 44.44% (4 / 9) 0% (0 / 6) 0% (0 / 1) 44.44% (4 / 9)
mapQuerySeparatorToKeys.js 33.33% (2 / 6) 100% (0 / 0) 0% (0 / 1) 33.33% (2 / 6)
matchInObject.js 44.44% (4 / 9) 0% (0 / 4) 0% (0 / 1) 44.44% (4 / 9)
mergeAll.js 44.44% (4 / 9) 0% (0 / 2) 0% (0 / 2) 44.44% (4 / 9)
mergeByPropertyDescriptor.js 50% (4 / 8) 0% (0 / 2) 0% (0 / 1) 50% (4 / 8)
mergeWithOptions.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
objectExclude.js 40% (4 / 10) 0% (0 / 2) 0% (0 / 2) 40% (4 / 10)
objectIntersectOrSubtract.js 36.36% (4 / 11) 0% (0 / 8) 0% (0 / 2) 36.36% (4 / 11)
objectMerge.js 11.43% (4 / 35) 0% (0 / 36) 0% (0 / 2) 11.43% (4 / 35)
objectReject.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
objectRemove.js 44.44% (4 / 9) 0% (0 / 2) 0% (0 / 2) 44.44% (4 / 9)
objectSelect.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
objectSize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
parseDeepQueryComponent.js 33.33% (4 / 12) 0% (0 / 6) 0% (0 / 2) 33.33% (4 / 12)
parseQueryComponent.js 30% (3 / 10) 0% (0 / 6) 0% (0 / 1) 30% (3 / 10)
sanitizeURIComponent.js 66.67% (2 / 3) 0% (0 / 5) 0% (0 / 1) 66.67% (2 / 3)
selectFromObject.js 28.57% (4 / 14) 0% (0 / 4) 0% (0 / 2) 28.57% (4 / 14)
setQueryProperty.js 27.27% (3 / 11) 0% (0 / 6) 0% (0 / 1) 27.27% (3 / 11)
stringIsDecimal.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
tap.js 36.36% (4 / 11) 0% (0 / 4) 0% (0 / 2) 40% (4 / 10)
toQueryString.js 18.75% (6 / 32) 0% (0 / 22) 0% (0 / 4) 18.75% (6 / 32)
toQueryStringWithOptions.js 42.86% (3 / 7) 0% (0 / 6) 0% (0 / 1) 42.86% (3 / 7)
Code coverage report for node-npmtest-sugar/sugar/object/internal/buildClassCheckMethods.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/buildClassCheckMethods.js

Statements: 100% (7 / 7)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (7 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28    1         1                       1 1 1 10       1  
'use strict';
 
var NATIVE_TYPES = require('../../common/var/NATIVE_TYPES'),
    classChecks = require('../../common/var/classChecks'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    defineInstanceAndStaticSimilar = require('../../common/internal/defineInstanceAndStaticSimilar');
 
var isBoolean = classChecks.isBoolean,
    isNumber = classChecks.isNumber,
    isString = classChecks.isString,
    isDate = classChecks.isDate,
    isRegExp = classChecks.isRegExp,
    isFunction = classChecks.isFunction,
    isArray = classChecks.isArray,
    isSet = classChecks.isSet,
    isMap = classChecks.isMap,
    isError = classChecks.isError,
    sugarObject = namespaceAliases.sugarObject;
 
function buildClassCheckMethods() {
  var checks = [isBoolean, isNumber, isString, isDate, isRegExp, isFunction, isArray, isError, isSet, isMap];
  defineInstanceAndStaticSimilar(sugarObject, NATIVE_TYPES, function(methods, name, i) {
    methods['is' + name] = checks[i];
  });
}
 
module.exports = buildClassCheckMethods;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/clone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/clone.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1     1         1  
'use strict';
 
var objectMerge = require('./objectMerge'),
    getNewObjectForMerge = require('./getNewObjectForMerge');
 
function clone(source, deep) {
  var target = getNewObjectForMerge(source);
  return objectMerge(target, source, deep, true, true, true);
}
 
module.exports = clone;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/defaults.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/defaults.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var mergeAll = require('./mergeAll');
 
function defaults(target, sources, opts) {
  opts = opts || {};
  opts.resolve = opts.resolve || false;
  return mergeAll(target, sources, opts);
}
 
module.exports = defaults;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/fromQueryStringWithOptions.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/fromQueryStringWithOptions.js

Statements: 23.08% (3 / 13)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 23.08% (3 / 13)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » fromQueryStringWithOptions.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1                             1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    parseQueryComponent = require('./parseQueryComponent');
 
function fromQueryStringWithOptions(obj, opts) {
  var str = String(obj || '').replace(/^.*?\?/, ''), result = {}, auto;
  opts = opts || {};
  if (str) {
    forEach(str.split('&'), function(p) {
      var split = p.split('=');
      var key = decodeURIComponent(split[0]);
      var val = split.length === 2 ? decodeURIComponent(split[1]) : '';
      auto = opts.auto !== false;
      parseQueryComponent(result, key, val, opts.deep, auto, opts.separator, opts.transform);
    });
  }
  return result;
}
 
module.exports = fromQueryStringWithOptions;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/getKeysWithObjectCoercion.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/getKeysWithObjectCoercion.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » getKeysWithObjectCoercion.js
1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var getKeys = require('../../common/internal/getKeys'),
    coercePrimitiveToObject = require('../../common/internal/coercePrimitiveToObject');
 
function getKeysWithObjectCoercion(obj) {
  return getKeys(coercePrimitiveToObject(obj));
}
 
module.exports = getKeysWithObjectCoercion;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/getNewObjectForMerge.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/getNewObjectForMerge.js

Statements: 25% (4 / 16)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 25% (4 / 16)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44    1           1         1                                                         1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    isPrimitive = require('../../common/internal/isPrimitive'),
    isPlainObject = require('../../common/internal/isPlainObject'),
    getRegExpFlags = require('../../common/internal/getRegExpFlags'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var classToString = coreUtilityAliases.classToString,
    isDate = classChecks.isDate,
    isRegExp = classChecks.isRegExp,
    isArray = classChecks.isArray;
 
function getNewObjectForMerge(source) {
  var klass = classToString(source);
  // Primitive types, dates, and regexes have no "empty" state. If they exist
  // at all, then they have an associated value. As we are only creating new
  // objects when they don't exist in the target, these values can come alone
  // for the ride when created.
  if (isArray(source, klass)) {
    return [];
  } else if (isPlainObject(source, klass)) {
    return {};
  } else if (isDate(source, klass)) {
    return new Date(source.getTime());
  } else if (isRegExp(source, klass)) {
    return RegExp(source.source, getRegExpFlags(source));
  } else if (isPrimitive(source && source.valueOf())) {
    return source;
  }
  // If the object is not of a known type, then simply merging its
  // properties into a plain object will result in something different
  // (it will not respond to instanceof operator etc). Similarly we don't
  // want to call a constructor here as we can't know for sure what the
  // original constructor was called with (Events etc), so throw an
  // error here instead. Non-standard types can be handled if either they
  // already exist and simply have their properties merged, if the merge
  // is not deep so their references will simply be copied over, or if a
  // resolve function is used to assist the merge.
  throw new TypeError('Must be a basic data type');
}
 
module.exports = getNewObjectForMerge;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/getQueryValueAuto.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/getQueryValueAuto.js

Statements: 23.53% (4 / 17)      Branches: 0% (0 / 16)      Functions: 0% (0 / 1)      Lines: 23.53% (4 / 17)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30    1       1     1                                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    stringIsDecimal = require('./stringIsDecimal'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var getOwn = coreUtilityAliases.getOwn,
    isArray = classChecks.isArray;
 
function getQueryValueAuto(obj, key, val) {
  if (!val) {
    return null;
  } else if (val === 'true') {
    return true;
  } else if (val === 'false') {
    return false;
  }
  var num = +val;
  if (!isNaN(num) && stringIsDecimal(val)) {
    return num;
  }
  var existing = getOwn(obj, key);
  if (val && existing) {
    return isArray(existing) ? existing.concat(val) : [existing, val];
  }
  return val;
}
 
module.exports = getQueryValueAuto;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/getURIComponentValue.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/getURIComponentValue.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1     1   1                       1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    sanitizeURIComponent = require('./sanitizeURIComponent');
 
var isDate = classChecks.isDate;
 
function getURIComponentValue(obj, prefix, transform) {
  var value;
  if (transform) {
    value = transform(obj, prefix);
  } else if (isDate(obj)) {
    value = obj.getTime();
  } else {
    value = obj;
  }
  return sanitizeURIComponent(prefix) + '=' + sanitizeURIComponent(value);
}
 
module.exports = getURIComponentValue;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/getValues.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/getValues.js

Statements: 50% (4 / 8)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 50% (4 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1   1               1  
'use strict';
 
var coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function getValues(obj) {
  var values = [];
  forEachProperty(obj, function(val) {
    values.push(val);
  });
  return values;
}
 
module.exports = getValues;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/isArguments.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/isArguments.js

Statements: 66.67% (4 / 6)      Branches: 0% (0 / 5)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1   1           1  
'use strict';
 
var hasProperty = require('../../common/internal/hasProperty'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var classToString = coreUtilityAliases.classToString;
 
function isArguments(obj, className) {
  className = className || classToString(obj);
  // .callee exists on Arguments objects in < IE8
  return hasProperty(obj, 'length') && (className === '[object Arguments]' || !!obj.callee);
}
 
module.exports = isArguments;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/iterateOverKeys.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/iterateOverKeys.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var getOwnPropertyDescriptor = require('../var/getOwnPropertyDescriptor');
 
function iterateOverKeys(getFn, obj, fn, hidden) {
  var keys = getFn(obj), desc;
  for (var i = 0, key; key = keys[i]; i++) {
    desc = getOwnPropertyDescriptor(obj, key);
    if (desc.enumerable || hidden) {
      fn(obj[key], key);
    }
  }
}
 
module.exports = iterateOverKeys;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/iterateOverProperties.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/iterateOverProperties.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1         1   1                     1  
'use strict';
 
var iterateOverKeys = require('./iterateOverKeys'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getOwnPropertyNames = require('../var/getOwnPropertyNames'),
    getOwnPropertySymbols = require('../var/getOwnPropertySymbols');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function iterateOverProperties(hidden, obj, fn) {
  if (getOwnPropertyNames && hidden) {
    iterateOverKeys(getOwnPropertyNames, obj, fn, hidden);
  } else {
    forEachProperty(obj, fn);
  }
  if (getOwnPropertySymbols) {
    iterateOverKeys(getOwnPropertySymbols, obj, fn, hidden);
  }
}
 
module.exports = iterateOverProperties;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/mapQuerySeparatorToKeys.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/mapQuerySeparatorToKeys.js

Statements: 33.33% (2 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 33.33% (2 / 6)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » mapQuerySeparatorToKeys.js
1 2 3 4 5 6 7 8 9 10 11 12    1               1  
'use strict';
 
function mapQuerySeparatorToKeys(key, separator) {
  var split = key.split(separator), result = split[0];
  for (var i = 1, len = split.length; i < len; i++) {
    result += '[' + split[i] + ']';
  }
  return result;
}
 
module.exports = mapQuerySeparatorToKeys;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/matchInObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/matchInObject.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    isObjectType = require('../../common/internal/isObjectType');
 
var isRegExp = classChecks.isRegExp;
 
function matchInObject(match, key) {
  if (isRegExp(match)) {
    return match.test(key);
  } else if (isObjectType(match)) {
    return key in match;
  } else {
    return key === String(match);
  }
}
 
module.exports = matchInObject;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeAll.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1       1   1                   1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    classChecks = require('../../common/var/classChecks'),
    mergeWithOptions = require('./mergeWithOptions');
 
var isArray = classChecks.isArray;
 
function mergeAll(target, sources, opts) {
  if (!isArray(sources)) {
    sources = [sources];
  }
  forEach(sources, function(source) {
    return mergeWithOptions(target, source, opts);
  });
  return target;
}
 
module.exports = mergeAll;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeByPropertyDescriptor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeByPropertyDescriptor.js

Statements: 50% (4 / 8)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 50% (4 / 8)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » mergeByPropertyDescriptor.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1       1   1               1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getOwnPropertyDescriptor = require('../var/getOwnPropertyDescriptor');
 
var defineProperty = coreUtilityAliases.defineProperty;
 
function mergeByPropertyDescriptor(target, source, prop, sourceVal) {
  var descriptor = getOwnPropertyDescriptor(source, prop);
  if (isDefined(descriptor.value)) {
    descriptor.value = sourceVal;
  }
  defineProperty(target, prop, descriptor);
}
 
module.exports = mergeByPropertyDescriptor;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeWithOptions.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/mergeWithOptions.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1   1         1  
'use strict';
 
var objectMerge = require('./objectMerge');
 
function mergeWithOptions(target, source, opts) {
  opts = opts || {};
  return objectMerge(target, source, opts.deep, opts.resolve, opts.hidden, opts.descriptor);
}
 
module.exports = mergeWithOptions;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectExclude.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectExclude.js

Statements: 40% (4 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1     1   1                     1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectExclude(obj, f) {
  var result = {};
  var matcher = getMatcher(f);
  forEachProperty(obj, function(val, key) {
    if (!matcher(val, key, obj)) {
      result[key] = val;
    }
  });
  return result;
}
 
module.exports = objectExclude;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectIntersectOrSubtract.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectIntersectOrSubtract.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » objectIntersectOrSubtract.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23    1         1         1                 1  
'use strict';
 
var isEqual = require('../../common/internal/isEqual'),
    objectMerge = require('./objectMerge'),
    isObjectType = require('../../common/internal/isObjectType'),
    coercePrimitiveToObject = require('../../common/internal/coercePrimitiveToObject');
 
function objectIntersectOrSubtract(obj1, obj2, subtract) {
  if (!isObjectType(obj1)) {
    return subtract ? obj1 : {};
  }
  obj2 = coercePrimitiveToObject(obj2);
  function resolve(key, val, val1) {
    var exists = key in obj2 && isEqual(val1, obj2[key]);
    if (exists !== subtract) {
      return val1;
    }
  }
  return objectMerge({}, obj1, false, resolve);
}
 
module.exports = objectIntersectOrSubtract;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectMerge.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectMerge.js

Statements: 11.43% (4 / 35)      Branches: 0% (0 / 36)      Functions: 0% (0 / 2)      Lines: 11.43% (4 / 35)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97    1                         1         1                                                                                                                                                     1  
'use strict';
 
var Sugar = require('sugar-core'),
    isDefined = require('../../common/internal/isDefined'),
    classChecks = require('../../common/var/classChecks'),
    isPrimitive = require('../../common/internal/isPrimitive'),
    isUndefined = require('../../common/internal/isUndefined'),
    isObjectType = require('../../common/internal/isObjectType'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getOwnPropertyNames = require('../var/getOwnPropertyNames'),
    getNewObjectForMerge = require('./getNewObjectForMerge'),
    iterateOverProperties = require('./iterateOverProperties'),
    coercePrimitiveToObject = require('../../common/internal/coercePrimitiveToObject'),
    mergeByPropertyDescriptor = require('./mergeByPropertyDescriptor');
 
var isDate = classChecks.isDate,
    isRegExp = classChecks.isRegExp,
    isFunction = classChecks.isFunction,
    getOwn = coreUtilityAliases.getOwn;
 
function objectMerge(target, source, deep, resolve, hidden, descriptor) {
  var resolveByFunction = isFunction(resolve), resolveConflicts = resolve !== false;
 
  if (isUndefined(target)) {
    target = getNewObjectForMerge(source);
  } else if (resolveConflicts && isDate(target) && isDate(source)) {
    // A date's timestamp is a property that can only be reached through its
    // methods, so actively set it up front if both are dates.
    target.setTime(source.getTime());
  }
 
  if (isPrimitive(target)) {
    // Will not merge into a primitive type, so simply override.
    return source;
  }
 
  // If the source object is a primitive
  // type then coerce it into an object.
  if (isPrimitive(source)) {
    source = coercePrimitiveToObject(source);
  }
 
  iterateOverProperties(hidden, source, function(val, key) {
    var sourceVal, targetVal, resolved, goDeep, result;
 
    sourceVal = source[key];
 
    // We are iterating over properties of the source, so hasOwnProperty on
    // it is guaranteed to always be true. However, the target may happen to
    // have properties in its prototype chain that should not be considered
    // as conflicts.
    targetVal = getOwn(target, key);
 
    if (resolveByFunction) {
      result = resolve(key, targetVal, sourceVal, target, source);
      if (isUndefined(result)) {
        // Result is undefined so do not merge this property.
        return;
      } else if (isDefined(result) && result !== Sugar) {
        // If the source returns anything except undefined, then the conflict
        // has been resolved, so don't continue traversing into the object. If
        // the returned value is the Sugar global object, then allowing Sugar
        // to resolve the conflict, so continue on.
        sourceVal = result;
        resolved = true;
      }
    } else if (isUndefined(sourceVal)) {
      // Will not merge undefined.
      return;
    }
 
    // Regex properties are read-only, so intentionally disallowing deep
    // merging for now. Instead merge by reference even if deep.
    goDeep = !resolved && deep && isObjectType(sourceVal) && !isRegExp(sourceVal);
 
    if (!goDeep && !resolveConflicts && isDefined(targetVal)) {
      return;
    }
 
    if (goDeep) {
      sourceVal = objectMerge(targetVal, sourceVal, deep, resolve, hidden, descriptor);
    }
 
    // getOwnPropertyNames is standing in as
    // a test for property descriptor support
    if (getOwnPropertyNames && descriptor) {
      mergeByPropertyDescriptor(target, source, key, sourceVal);
    } else {
      target[key] = sourceVal;
    }
 
  });
  return target;
}
 
module.exports = objectMerge;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectReject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectReject.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var selectFromObject = require('./selectFromObject');
 
function objectReject(obj, f) {
  return selectFromObject(obj, f, false);
}
 
module.exports = objectReject;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectRemove.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectRemove.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var getMatcher = require('../../common/internal/getMatcher'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function objectRemove(obj, f) {
  var matcher = getMatcher(f);
  forEachProperty(obj, function(val, key) {
    if (matcher(val, key, obj)) {
      delete obj[key];
    }
  });
  return obj;
}
 
module.exports = objectRemove;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectSelect.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectSelect.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var selectFromObject = require('./selectFromObject');
 
function objectSelect(obj, f) {
  return selectFromObject(obj, f, true);
}
 
module.exports = objectSelect;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/objectSize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/objectSize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var getKeysWithObjectCoercion = require('./getKeysWithObjectCoercion');
 
function objectSize(obj) {
  return getKeysWithObjectCoercion(obj).length;
}
 
module.exports = objectSize;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/parseDeepQueryComponent.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/parseDeepQueryComponent.js

Statements: 33.33% (4 / 12)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 33.33% (4 / 12)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » parseDeepQueryComponent.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24    1       1     1                         1  
'use strict';
 
var forEach = require('../../common/internal/forEach'),
    setQueryProperty = require('./setQueryProperty'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var hasOwn = coreUtilityAliases.hasOwn,
    getOwn = coreUtilityAliases.getOwn;
 
function parseDeepQueryComponent(obj, match, val, deep, auto, separator, transform) {
  var key = match[1];
  var inner = match[2].slice(1, -1).split('][');
  forEach(inner, function(k) {
    if (!hasOwn(obj, key)) {
      obj[key] = k ? {} : [];
    }
    obj = getOwn(obj, key);
    key = k ? k : obj.length.toString();
  });
  setQueryProperty(obj, key, val, auto, transform);
}
 
module.exports = parseDeepQueryComponent;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/parseQueryComponent.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/parseQueryComponent.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 30% (3 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1         1                         1  
'use strict';
 
var DEEP_QUERY_STRING_REG = require('../var/DEEP_QUERY_STRING_REG'),
    setQueryProperty = require('./setQueryProperty'),
    mapQuerySeparatorToKeys = require('./mapQuerySeparatorToKeys'),
    parseDeepQueryComponent = require('./parseDeepQueryComponent');
 
function parseQueryComponent(obj, key, val, deep, auto, separator, transform) {
  var match;
  if (separator) {
    key = mapQuerySeparatorToKeys(key, separator);
    deep = true;
  }
  if (deep === true && (match = key.match(DEEP_QUERY_STRING_REG))) {
    parseDeepQueryComponent(obj, match, val, deep, auto, separator, transform);
  } else {
    setQueryProperty(obj, key, val, auto, transform);
  }
}
 
module.exports = parseQueryComponent;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/sanitizeURIComponent.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/sanitizeURIComponent.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 5)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
function sanitizeURIComponent(obj) {
  // undefined, null, and NaN are represented as a blank string,
  // while false and 0 are stringified.
  return !obj && obj !== false && obj !== 0 ? '' : encodeURIComponent(obj);
}
 
module.exports = sanitizeURIComponent;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/selectFromObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/selectFromObject.js

Statements: 28.57% (4 / 14)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 28.57% (4 / 14)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26    1     1   1                                 1  
'use strict';
 
var matchInObject = require('./matchInObject'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
function selectFromObject(obj, f, select) {
  var match, result = {};
  f = [].concat(f);
  forEachProperty(obj, function(val, key) {
    match = false;
    for (var i = 0; i < f.length; i++) {
      if (matchInObject(f[i], key)) {
        match = true;
      }
    }
    if (match === select) {
      result[key] = val;
    }
  });
  return result;
}
 
module.exports = selectFromObject;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/setQueryProperty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/setQueryProperty.js

Statements: 27.27% (3 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 27.27% (3 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1     1                         1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    getQueryValueAuto = require('./getQueryValueAuto');
 
function setQueryProperty(obj, key, val, auto, transform) {
  var fnValue;
  if (transform) {
    fnValue = transform(val, key, obj);
  }
  if (isDefined(fnValue)) {
    val = fnValue;
  } else if (auto) {
    val = getQueryValueAuto(obj, key, val);
  }
  obj[key] = val;
}
 
module.exports = setQueryProperty;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/stringIsDecimal.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/stringIsDecimal.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var NON_DECIMAL_REG = require('../var/NON_DECIMAL_REG');
 
function stringIsDecimal(str) {
  return str !== '' && !NON_DECIMAL_REG.test(str);
}
 
module.exports = stringIsDecimal;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/tap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/tap.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1   1   1                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isFunction = classChecks.isFunction;
 
function tap(obj, arg) {
  var fn = arg;
  if (!isFunction(arg)) {
    fn = function() {
      if (arg) obj[arg]();
    };
  }
  fn.call(obj, obj);
  return obj;
}
 
module.exports = tap;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/toQueryString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/toQueryString.js

Statements: 18.75% (6 / 32)      Branches: 0% (0 / 22)      Functions: 0% (0 / 4)      Lines: 18.75% (6 / 32)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60    1             1     1                     1                                     1                               1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    isObjectType = require('../../common/internal/isObjectType'),
    internalToString = require('../var/internalToString'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases'),
    getURIComponentValue = require('./getURIComponentValue'),
    sanitizeURIComponent = require('./sanitizeURIComponent');
 
var isArray = classChecks.isArray,
    forEachProperty = coreUtilityAliases.forEachProperty;
 
function toQueryString(obj, deep, transform, prefix, separator) {
  if (isArray(obj)) {
    return collectArrayAsQueryString(obj, deep, transform, prefix, separator);
  } else if (isObjectType(obj) && obj.toString === internalToString) {
    return collectObjectAsQueryString(obj, deep, transform, prefix, separator);
  } else if (prefix) {
    return getURIComponentValue(obj, prefix, transform);
  }
  return '';
}
 
function collectArrayAsQueryString(arr, deep, transform, prefix, separator) {
  var el, qc, key, result = [];
  // Intentionally treating sparse arrays as dense here by avoiding map,
  // otherwise indexes will shift during the process of serialization.
  for (var i = 0, len = arr.length; i < len; i++) {
    el = arr[i];
    key = prefix + (prefix && deep ? '[]' : '');
    if (!key && !isObjectType(el)) {
      // If there is no key, then the values of the array should be
      // considered as null keys, so use them instead;
      qc = sanitizeURIComponent(el);
    } else {
      qc = toQueryString(el, deep, transform, key, separator);
    }
    result.push(qc);
  }
  return result.join('&');
}
 
function collectObjectAsQueryString(obj, deep, transform, prefix, separator) {
  var result = [];
  forEachProperty(obj, function(val, key) {
    var fullKey;
    if (prefix && deep) {
      fullKey = prefix + '[' + key + ']';
    } else if (prefix) {
      fullKey = prefix + separator + key;
    } else {
      fullKey = key;
    }
    result.push(toQueryString(val, deep, transform, fullKey, separator));
  });
  return result.join('&');
}
 
module.exports = toQueryString;
 
Code coverage report for node-npmtest-sugar/sugar/object/internal/toQueryStringWithOptions.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/internal/toQueryStringWithOptions.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 42.86% (3 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/internal/ » toQueryStringWithOptions.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var isUndefined = require('../../common/internal/isUndefined'),
    toQueryString = require('./toQueryString');
 
function toQueryStringWithOptions(obj, opts) {
  opts = opts || {};
  if (isUndefined(opts.separator)) {
    opts.separator = '_';
  }
  return toQueryString(obj, opts.deep, opts.transform, opts.prefix || '', opts.separator);
}
 
module.exports = toQueryStringWithOptions;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/

Statements: 100% (6 / 6)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (6 / 6)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/var/
File Statements Branches Functions Lines
DEEP_QUERY_STRING_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
NON_DECIMAL_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
getOwnPropertyDescriptor.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
getOwnPropertyNames.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
getOwnPropertySymbols.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
internalToString.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
Code coverage report for node-npmtest-sugar/sugar/object/var/DEEP_QUERY_STRING_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/DEEP_QUERY_STRING_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/var/ » DEEP_QUERY_STRING_REG.js
1 2 3 4    1  
'use strict';
 
module.exports = /^(.+?)(\[.*\])$/;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/NON_DECIMAL_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/NON_DECIMAL_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /[^\d.-]/;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertyDescriptor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertyDescriptor.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/var/ » getOwnPropertyDescriptor.js
1 2 3 4    1  
'use strict';
 
module.exports = Object.getOwnPropertyDescriptor;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertyNames.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertyNames.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/var/ » getOwnPropertyNames.js
1 2 3 4    1  
'use strict';
 
module.exports = Object.getOwnPropertyNames;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertySymbols.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/getOwnPropertySymbols.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/object/var/ » getOwnPropertySymbols.js
1 2 3 4    1  
'use strict';
 
module.exports = Object.getOwnPropertySymbols;
 
Code coverage report for node-npmtest-sugar/sugar/object/var/internalToString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/object/var/internalToString.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = Object.prototype.toString;
 
Code coverage report for node-npmtest-sugar/sugar/range/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/

Statements: 76.39% (55 / 72)      Branches: 0% (0 / 28)      Functions: 0% (0 / 10)      Lines: 77.46% (55 / 71)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/
File Statements Branches Functions Lines
clamp.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
clone.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
contains.js 28.57% (2 / 7) 0% (0 / 12) 0% (0 / 1) 33.33% (2 / 6)
days.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
every.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
hours.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
index.js 100% (26 / 26) 100% (0 / 0) 100% (0 / 0) 100% (26 / 26)
intersect.js 40% (2 / 5) 0% (0 / 8) 0% (0 / 1) 40% (2 / 5)
isValid.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
milliseconds.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
minutes.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
months.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
seconds.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
span.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
toArray.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
toString.js 66.67% (2 / 3) 0% (0 / 2) 0% (0 / 1) 66.67% (2 / 3)
union.js 66.67% (2 / 3) 0% (0 / 4) 0% (0 / 1) 66.67% (2 / 3)
weeks.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
years.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
Code coverage report for node-npmtest-sugar/sugar/range/clamp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/clamp.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                    
'use strict';
 
var Range = require('./internal/Range'),
    rangeClamp = require('./internal/rangeClamp'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'clamp': function(el) {
    return rangeClamp(this, el);
  }
 
});
 
// This package does not export anything as it is
// simply defining "clamp" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/clone.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/clone.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                    
'use strict';
 
var Range = require('./internal/Range'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'clone': function() {
    return new Range(this.start, this.end);
  }
 
});
 
// This package does not export anything as it is
// simply defining "clone" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/contains.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/contains.js

Statements: 28.57% (2 / 7)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 33.33% (2 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1                                
'use strict';
 
var Range = require('./internal/Range'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'contains': function(el) {
    if (el == null) return false;
    if (el.start && el.end) {
      return el.start >= this.start && el.start <= this.end &&
             el.end   >= this.start && el.end   <= this.end;
    } else {
      return el >= this.start && el <= this.end;
    }
  }
 
});
 
// This package does not export anything as it is
// simply defining "contains" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/days.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/days.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "days" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/every.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/every.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                    
'use strict';
 
var Range = require('./internal/Range'),
    rangeEvery = require('./internal/rangeEvery'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'every': function(amount, fn) {
    return rangeEvery(this, amount, false, fn);
  }
 
});
 
// This package does not export anything as it is
// simply defining "every" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/hours.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/hours.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "hours" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/index.js

Statements: 100% (26 / 26)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (26 / 26)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37      1 1 1     1 1 1     1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1     1   1  
'use strict';
 
// Static Methods
require('../date/range');
require('../number/range');
require('../string/range');
 
// Instance Methods
require('../number/cap');
require('../number/clamp');
require('../number/upto');
 
// Prototype Methods
require('./clamp');
require('./clone');
require('./contains');
require('./days');
require('./every');
require('./hours');
require('./intersect');
require('./isValid');
require('./milliseconds');
require('./minutes');
require('./months');
require('./seconds');
require('./span');
require('./toArray');
require('./toString');
require('./union');
require('./weeks');
require('./years');
 
// Aliases
require('../number/downto');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/range/intersect.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/intersect.js

Statements: 40% (2 / 5)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 40% (2 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1     1                                
'use strict';
 
var Range = require('./internal/Range'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'intersect': function(range) {
    if (range.start > this.end || range.end < this.start) {
      return new Range(NaN, NaN);
    }
    return new Range(
      this.start > range.start ? this.start : range.start,
      this.end   < range.end   ? this.end   : range.end
    );
  }
 
});
 
// This package does not export anything as it is
// simply defining "intersect" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/isValid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/isValid.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                    
'use strict';
 
var Range = require('./internal/Range'),
    rangeIsValid = require('./internal/rangeIsValid'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'isValid': function() {
    return rangeIsValid(this);
  }
 
});
 
// This package does not export anything as it is
// simply defining "isValid" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/milliseconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/milliseconds.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "milliseconds" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/minutes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/minutes.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "minutes" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/months.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/months.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "months" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/seconds.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/seconds.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "seconds" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/span.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/span.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1           1   1                      
'use strict';
 
var Range = require('./internal/Range'),
    mathAliases = require('../common/var/mathAliases'),
    rangeIsValid = require('./internal/rangeIsValid'),
    defineOnPrototype = require('../common/internal/defineOnPrototype'),
    getRangeMemberNumericValue = require('./internal/getRangeMemberNumericValue');
 
var abs = mathAliases.abs;
 
defineOnPrototype(Range, {
 
  'span': function() {
    var n = getRangeMemberNumericValue(this.end) - getRangeMemberNumericValue(this.start);
    return rangeIsValid(this) ? abs(n) + 1 : NaN;
  }
 
});
 
// This package does not export anything as it is
// simply defining "span" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/toArray.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/toArray.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                    
'use strict';
 
var Range = require('./internal/Range'),
    rangeEvery = require('./internal/rangeEvery'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'toArray': function() {
    return rangeEvery(this);
  }
 
});
 
// This package does not export anything as it is
// simply defining "toArray" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/toString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/toString.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                    
'use strict';
 
var Range = require('./internal/Range'),
    rangeIsValid = require('./internal/rangeIsValid'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'toString': function() {
    return rangeIsValid(this) ? this.start + '..' + this.end : 'Invalid Range';
  }
 
});
 
// This package does not export anything as it is
// simply defining "toString" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/union.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/union.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1                          
'use strict';
 
var Range = require('./internal/Range'),
    defineOnPrototype = require('../common/internal/defineOnPrototype');
 
defineOnPrototype(Range, {
 
  'union': function(range) {
    return new Range(
      this.start < range.start ? this.start : range.start,
      this.end   > range.end   ? this.end   : range.end
    );
  }
 
});
 
// This package does not export anything as it is
// simply defining "union" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/weeks.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/weeks.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "weeks" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/years.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/years.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4 5 6 7    1        
'use strict';
 
require('./build/buildDateRangeUnitsCall');
 
// This package does not export anything as it is
// simply defining "years" on Range.prototype.
 
Code coverage report for node-npmtest-sugar/sugar/range/build/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/build/

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/build/
File Statements Branches Functions Lines
buildDateRangeUnitsCall.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/range/build/buildDateRangeUnitsCall.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/build/buildDateRangeUnitsCall.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/build/ » buildDateRangeUnitsCall.js
1 2 3 4 5 6    1   1  
'use strict';
 
var buildDateRangeUnits = require('../internal/buildDateRangeUnits');
 
buildDateRangeUnits();
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/

Statements: 40.46% (70 / 173)      Branches: 2.33% (2 / 86)      Functions: 8.33% (2 / 24)      Lines: 40.7% (70 / 172)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/internal/
File Statements Branches Functions Lines
Range.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
buildDateRangeUnits.js 85.71% (12 / 14) 100% (2 / 2) 50% (2 / 4) 85.71% (12 / 14)
cloneRangeMember.js 57.14% (4 / 7) 0% (0 / 2) 0% (0 / 1) 57.14% (4 / 7)
createDateRangeFromString.js 19.05% (4 / 21) 0% (0 / 12) 0% (0 / 1) 19.05% (4 / 21)
getDateForRange.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 1) 36.36% (4 / 11)
getDateIncrementObject.js 20% (4 / 20) 0% (0 / 12) 0% (0 / 1) 20% (4 / 20)
getGreaterPrecision.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
getPrecision.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
getRangeMemberNumericValue.js 80% (4 / 5) 0% (0 / 2) 0% (0 / 1) 80% (4 / 5)
getRangeMemberPrimitiveValue.js 57.14% (4 / 7) 0% (0 / 4) 0% (0 / 1) 66.67% (4 / 6)
incrementDate.js 33.33% (3 / 9) 0% (0 / 2) 0% (0 / 1) 33.33% (3 / 9)
incrementNumber.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
incrementString.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isValidRangeMember.js 60% (3 / 5) 0% (0 / 3) 0% (0 / 1) 60% (3 / 5)
rangeClamp.js 30% (3 / 10) 0% (0 / 8) 0% (0 / 1) 30% (3 / 10)
rangeEvery.js 11.76% (4 / 34) 0% (0 / 26) 0% (0 / 4) 11.76% (4 / 34)
rangeIsValid.js 75% (3 / 4) 0% (0 / 3) 0% (0 / 1) 75% (3 / 4)
valueIsNotInfinite.js 66.67% (2 / 3) 0% (0 / 2) 0% (0 / 1) 66.67% (2 / 3)
Code coverage report for node-npmtest-sugar/sugar/range/internal/Range.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/Range.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1   1         1  
'use strict';
 
var cloneRangeMember = require('./cloneRangeMember');
 
function Range(start, end) {
  this.start = cloneRangeMember(start);
  this.end   = cloneRangeMember(end);
}
 
module.exports = Range;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/buildDateRangeUnits.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/buildDateRangeUnits.js

Statements: 85.71% (12 / 14)      Branches: 100% (2 / 2)      Functions: 50% (2 / 4)      Lines: 85.71% (12 / 14)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32    1                 1 1 1 8 8 4       4 4       8   1     1  
'use strict';
 
var MULTIPLIERS = require('../var/MULTIPLIERS'),
    DURATION_UNITS = require('../var/DURATION_UNITS'),
    Range = require('./Range'),
    trunc = require('../../common/var/trunc'),
    forEach = require('../../common/internal/forEach'),
    rangeEvery = require('./rangeEvery'),
    simpleCapitalize = require('../../common/internal/simpleCapitalize'),
    defineOnPrototype = require('../../common/internal/defineOnPrototype');
 
function buildDateRangeUnits() {
  var methods = {};
  forEach(DURATION_UNITS.split('|'), function(unit, i) {
    var name = unit + 's', mult, fn;
    if (i < 4) {
      fn = function() {
        return rangeEvery(this, unit, true);
      };
    } else {
      mult = MULTIPLIERS[simpleCapitalize(name)];
      fn = function() {
        return trunc((this.end - this.start) / mult);
      };
    }
    methods[name] = fn;
  });
  defineOnPrototype(Range, methods);
}
 
module.exports = buildDateRangeUnits;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/cloneRangeMember.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/cloneRangeMember.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    getRangeMemberPrimitiveValue = require('./getRangeMemberPrimitiveValue');
 
var isDate = classChecks.isDate;
 
function cloneRangeMember(m) {
  if (isDate(m)) {
    return new Date(m.getTime());
  } else {
    return getRangeMemberPrimitiveValue(m);
  }
}
 
module.exports = cloneRangeMember;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/createDateRangeFromString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/createDateRangeFromString.js

Statements: 19.05% (4 / 21)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 19.05% (4 / 21)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/internal/ » createDateRangeFromString.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41    1             1         1                                                 1  
'use strict';
 
var Range = require('./Range'),
    DurationTextFormats = require('../var/DurationTextFormats'),
    incrementDate = require('./incrementDate'),
    getDateForRange = require('./getDateForRange'),
    namespaceAliases = require('../../common/var/namespaceAliases'),
    getDateIncrementObject = require('./getDateIncrementObject');
 
var sugarDate = namespaceAliases.sugarDate,
    RANGE_REG_FROM_TO = DurationTextFormats.RANGE_REG_FROM_TO,
    RANGE_REG_REAR_DURATION = DurationTextFormats.RANGE_REG_REAR_DURATION,
    RANGE_REG_FRONT_DURATION = DurationTextFormats.RANGE_REG_FRONT_DURATION;
 
function createDateRangeFromString(str) {
  var match, datetime, duration, dio, start, end;
  if (sugarDate.get && (match = str.match(RANGE_REG_FROM_TO))) {
    start = getDateForRange(match[1].replace('from', 'at'));
    end = sugarDate.get(start, match[2]);
    return new Range(start, end);
  }
  if (match = str.match(RANGE_REG_FRONT_DURATION)) {
    duration = match[1];
    datetime = match[2];
  }
  if (match = str.match(RANGE_REG_REAR_DURATION)) {
    datetime = match[1];
    duration = match[2];
  }
  if (datetime && duration) {
    start = getDateForRange(datetime);
    dio = getDateIncrementObject(duration);
    end = incrementDate(start, dio[0], dio[1]);
  } else {
    start = str;
  }
  return new Range(getDateForRange(start), getDateForRange(end));
}
 
module.exports = createDateRangeFromString;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getDateForRange.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getDateForRange.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1     1     1                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    namespaceAliases = require('../../common/var/namespaceAliases');
 
var isDate = classChecks.isDate,
    sugarDate = namespaceAliases.sugarDate;
 
function getDateForRange(d) {
  if (isDate(d)) {
    return d;
  } else if (d == null) {
    return new Date();
  } else if (sugarDate.create) {
    return sugarDate.create(d);
  }
  return new Date(d);
}
 
module.exports = getDateForRange;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getDateIncrementObject.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getDateIncrementObject.js

Statements: 20% (4 / 20)      Branches: 0% (0 / 12)      Functions: 0% (0 / 1)      Lines: 20% (4 / 20)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/internal/ » getDateIncrementObject.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    1       1   1                                         1  
'use strict';
 
var DURATION_REG = require('../var/DURATION_REG'),
    classChecks = require('../../common/var/classChecks'),
    simpleCapitalize = require('../../common/internal/simpleCapitalize');
 
var isNumber = classChecks.isNumber;
 
function getDateIncrementObject(amt) {
  var match, val, unit;
  if (isNumber(amt)) {
    return [amt, 'Milliseconds'];
  }
  match = amt.match(DURATION_REG);
  val = +match[1] || 1;
  unit = simpleCapitalize(match[2].toLowerCase());
  if (unit.match(/hour|minute|second/i)) {
    unit += 's';
  } else if (unit === 'Year') {
    unit = 'FullYear';
  } else if (unit === 'Week') {
    unit = 'Date';
    val *= 7;
  } else if (unit === 'Day') {
    unit = 'Date';
  }
  return [val, unit];
}
 
module.exports = getDateIncrementObject;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getGreaterPrecision.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getGreaterPrecision.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1   1       1  
'use strict';
 
var mathAliases = require('../../common/var/mathAliases'),
    getPrecision = require('./getPrecision');
 
var max = mathAliases.max;
 
function getGreaterPrecision(n1, n2) {
  return max(getPrecision(n1), getPrecision(n2));
}
 
module.exports = getGreaterPrecision;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getPrecision.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getPrecision.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1   1         1  
'use strict';
 
var periodSplit = require('../../common/internal/periodSplit');
 
function getPrecision(n) {
  var split = periodSplit(n.toString());
  return split[1] ? split[1].length : 0;
}
 
module.exports = getPrecision;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getRangeMemberNumericValue.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getRangeMemberNumericValue.js

Statements: 80% (4 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/internal/ » getRangeMemberNumericValue.js
1 2 3 4 5 6 7 8 9 10 11 12    1   1   1       1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isString = classChecks.isString;
 
function getRangeMemberNumericValue(m) {
  return isString(m) ? m.charCodeAt(0) : m;
}
 
module.exports = getRangeMemberNumericValue;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/getRangeMemberPrimitiveValue.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/getRangeMemberPrimitiveValue.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/internal/ » getRangeMemberPrimitiveValue.js
1 2 3 4 5 6 7 8 9 10 11 12 13    1   1   1         1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isDate = classChecks.isDate;
 
function getRangeMemberPrimitiveValue(m) {
  if (m == null) return m;
  return isDate(m) ? m.getTime() : m.valueOf();
}
 
module.exports = getRangeMemberPrimitiveValue;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementDate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementDate.js

Statements: 33.33% (3 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 33.33% (3 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1       1                     1  
'use strict';
 
var MULTIPLIERS = require('../var/MULTIPLIERS'),
    callDateSet = require('../../common/internal/callDateSet'),
    callDateGet = require('../../common/internal/callDateGet');
 
function incrementDate(src, amount, unit) {
  var mult = MULTIPLIERS[unit], d;
  if (mult) {
    d = new Date(src.getTime() + (amount * mult));
  } else {
    d = new Date(src);
    callDateSet(d, unit, callDateGet(src, unit) + amount);
  }
  return d;
}
 
module.exports = incrementDate;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementNumber.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var withPrecision = require('../../common/internal/withPrecision');
 
function incrementNumber(current, amount, precision) {
  return withPrecision(current + amount, precision);
}
 
module.exports = incrementNumber;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/incrementString.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var chr = require('../../common/var/chr');
 
function incrementString(current, amount) {
  return chr(current.charCodeAt(0) + amount);
}
 
module.exports = incrementString;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/isValidRangeMember.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/isValidRangeMember.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1     1         1  
'use strict';
 
var valueIsNotInfinite = require('./valueIsNotInfinite'),
    getRangeMemberPrimitiveValue = require('./getRangeMemberPrimitiveValue');
 
function isValidRangeMember(m) {
  var val = getRangeMemberPrimitiveValue(m);
  return (!!val || val === 0) && valueIsNotInfinite(m);
}
 
module.exports = isValidRangeMember;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeClamp.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeClamp.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 8)      Functions: 0% (0 / 1)      Lines: 30% (3 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1   1                               1  
'use strict';
 
var cloneRangeMember = require('./cloneRangeMember');
 
function rangeClamp(range, obj) {
  var clamped,
      start = range.start,
      end = range.end,
      min = end < start ? end : start,
      max = start > end ? start : end;
  if (obj < min) {
    clamped = min;
  } else if (obj > max) {
    clamped = max;
  } else {
    clamped = obj;
  }
  return cloneRangeMember(clamped);
}
 
module.exports = rangeClamp;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeEvery.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeEvery.js

Statements: 11.76% (4 / 34)      Branches: 0% (0 / 26)      Functions: 0% (0 / 4)      Lines: 11.76% (4 / 34)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71    1               1         1                                                                                                           1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    rangeIsValid = require('./rangeIsValid'),
    incrementDate = require('./incrementDate'),
    incrementNumber = require('./incrementNumber'),
    incrementString = require('./incrementString'),
    getGreaterPrecision = require('./getGreaterPrecision'),
    getDateIncrementObject = require('./getDateIncrementObject');
 
var isNumber = classChecks.isNumber,
    isString = classChecks.isString,
    isDate = classChecks.isDate,
    isFunction = classChecks.isFunction;
 
function rangeEvery(range, step, countOnly, fn) {
  var increment,
      precision,
      dio,
      unit,
      start   = range.start,
      end     = range.end,
      inverse = end < start,
      current = start,
      index   = 0,
      result  = [];
 
  if (!rangeIsValid(range)) {
    return countOnly ? NaN : [];
  }
  if (isFunction(step)) {
    fn = step;
    step = null;
  }
  step = step || 1;
  if (isNumber(start)) {
    precision = getGreaterPrecision(start, step);
    increment = function() {
      return incrementNumber(current, step, precision);
    };
  } else if (isString(start)) {
    increment = function() {
      return incrementString(current, step);
    };
  } else if (isDate(start)) {
    dio  = getDateIncrementObject(step);
    step = dio[0];
    unit = dio[1];
    increment = function() {
      return incrementDate(current, step, unit);
    };
  }
  // Avoiding infinite loops
  if (inverse && step > 0) {
    step *= -1;
  }
  while(inverse ? current >= end : current <= end) {
    if (!countOnly) {
      result.push(current);
    }
    if (fn) {
      fn(current, index, range);
    }
    current = increment();
    index++;
  }
  return countOnly ? index - 1 : result;
}
 
module.exports = rangeEvery;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeIsValid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/rangeIsValid.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 3)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12    1   1           1  
'use strict';
 
var isValidRangeMember = require('./isValidRangeMember');
 
function rangeIsValid(range) {
  return isValidRangeMember(range.start) &&
         isValidRangeMember(range.end) &&
         typeof range.start === typeof range.end;
}
 
module.exports = rangeIsValid;
 
Code coverage report for node-npmtest-sugar/sugar/range/internal/valueIsNotInfinite.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/internal/valueIsNotInfinite.js

Statements: 66.67% (2 / 3)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function valueIsNotInfinite(m) {
  return m !== -Infinity && m !== Infinity;
}
 
module.exports = valueIsNotInfinite;
 
Code coverage report for node-npmtest-sugar/sugar/range/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/

Statements: 80% (16 / 20)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 80% (16 / 20)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/var/
File Statements Branches Functions Lines
DURATION_REG.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
DURATION_UNITS.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
DateRangeConstructor.js 57.14% (4 / 7) 0% (0 / 4) 0% (0 / 1) 57.14% (4 / 7)
DurationTextFormats.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
FULL_CAPTURED_DURATION.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
MULTIPLIERS.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
PrimitiveRangeConstructor.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
Code coverage report for node-npmtest-sugar/sugar/range/var/DURATION_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/DURATION_REG.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var DURATION_UNITS = require('./DURATION_UNITS');
 
module.exports = RegExp('(\\d+)?\\s*('+ DURATION_UNITS +')s?', 'i');
 
Code coverage report for node-npmtest-sugar/sugar/range/var/DURATION_UNITS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/DURATION_UNITS.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = 'year|month|week|day|hour|minute|second|millisecond';
 
Code coverage report for node-npmtest-sugar/sugar/range/var/DateRangeConstructor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/DateRangeConstructor.js

Statements: 57.14% (4 / 7)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 57.14% (4 / 7)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/var/ » DateRangeConstructor.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1         1   1             1  
'use strict';
 
var Range = require('../internal/Range'),
    classChecks = require('../../common/var/classChecks'),
    getDateForRange = require('../internal/getDateForRange'),
    createDateRangeFromString = require('../internal/createDateRangeFromString');
 
var isString = classChecks.isString;
 
var DateRangeConstructor = function(start, end) {
  if (arguments.length === 1 && isString(start)) {
    return createDateRangeFromString(start);
  }
  return new Range(getDateForRange(start), getDateForRange(end));
};
 
module.exports = DateRangeConstructor;
 
Code coverage report for node-npmtest-sugar/sugar/range/var/DurationTextFormats.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/DurationTextFormats.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/var/ » DurationTextFormats.js
1 2 3 4 5 6 7 8 9 10    1   1          
'use strict';
 
var FULL_CAPTURED_DURATION = require('./FULL_CAPTURED_DURATION');
 
module.exports = {
  RANGE_REG_FROM_TO: /(?:from)?\s*(.+)\s+(?:to|until)\s+(.+)$/i,
  RANGE_REG_REAR_DURATION: RegExp('(.+)\\s*for\\s*' + FULL_CAPTURED_DURATION, 'i'),
  RANGE_REG_FRONT_DURATION: RegExp('(?:for)?\\s*'+ FULL_CAPTURED_DURATION +'\\s*(?:starting)?\\s(?:at\\s)?(.+)', 'i')
};
 
Code coverage report for node-npmtest-sugar/sugar/range/var/FULL_CAPTURED_DURATION.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/FULL_CAPTURED_DURATION.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/var/ » FULL_CAPTURED_DURATION.js
1 2 3 4 5 6    1   1  
'use strict';
 
var DURATION_UNITS = require('./DURATION_UNITS');
 
module.exports = '((?:\\d+)?\\s*(?:' + DURATION_UNITS + '))s?';
 
Code coverage report for node-npmtest-sugar/sugar/range/var/MULTIPLIERS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/MULTIPLIERS.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1             1  
'use strict';
 
var MULTIPLIERS = {
  'Hours': 60 * 60 * 1000,
  'Minutes': 60 * 1000,
  'Seconds': 1000,
  'Milliseconds': 1
};
 
module.exports = MULTIPLIERS;
 
Code coverage report for node-npmtest-sugar/sugar/range/var/PrimitiveRangeConstructor.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/range/var/PrimitiveRangeConstructor.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

All files » node-npmtest-sugar/sugar/range/var/ » PrimitiveRangeConstructor.js
1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var Range = require('../internal/Range');
 
var PrimitiveRangeConstructor = function(start, end) {
  return new Range(start, end);
};
 
module.exports = PrimitiveRangeConstructor;
 
Code coverage report for node-npmtest-sugar/sugar/regexp/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/

Statements: 77.78% (21 / 27)      Branches: 100% (0 / 0)      Functions: 0% (0 / 5)      Lines: 77.78% (21 / 27)      Ignored: none     

All files » node-npmtest-sugar/sugar/regexp/
File Statements Branches Functions Lines
addFlags.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
escape.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
getFlags.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
index.js 100% (6 / 6) 100% (0 / 0) 100% (0 / 0) 100% (6 / 6)
removeFlags.js 60% (3 / 5) 100% (0 / 0) 0% (0 / 1) 60% (3 / 5)
setFlags.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
Code coverage report for node-npmtest-sugar/sugar/regexp/addFlags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/addFlags.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getRegExpFlags = require('../common/internal/getRegExpFlags');
 
Sugar.RegExp.defineInstance({
 
  'addFlags': function(r, flags) {
    return RegExp(r.source, getRegExpFlags(r, flags));
  }
 
});
 
module.exports = Sugar.RegExp.addFlags;
 
Code coverage report for node-npmtest-sugar/sugar/regexp/escape.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/escape.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    escapeRegExp = require('../common/internal/escapeRegExp');
 
Sugar.RegExp.defineStatic({
 
  'escape': function(str) {
    return escapeRegExp(str);
  }
 
});
 
module.exports = Sugar.RegExp.escape;
 
Code coverage report for node-npmtest-sugar/sugar/regexp/getFlags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/getFlags.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getRegExpFlags = require('../common/internal/getRegExpFlags');
 
Sugar.RegExp.defineInstance({
 
  'getFlags': function(r) {
    return getRegExpFlags(r);
  }
 
});
 
module.exports = Sugar.RegExp.getFlags;
 
Code coverage report for node-npmtest-sugar/sugar/regexp/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/index.js

Statements: 100% (6 / 6)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (6 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13      1     1 1 1 1   1  
'use strict';
 
// Static Methods
require('./escape');
 
// Instance Methods
require('./addFlags');
require('./getFlags');
require('./removeFlags');
require('./setFlags');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/regexp/removeFlags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/removeFlags.js

Statements: 60% (3 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    allCharsReg = require('../common/internal/allCharsReg'),
    getRegExpFlags = require('../common/internal/getRegExpFlags');
 
Sugar.RegExp.defineInstance({
 
  'removeFlags': function(r, flags) {
    var reg = allCharsReg(flags);
    return RegExp(r.source, getRegExpFlags(r).replace(reg, ''));
  }
 
});
 
module.exports = Sugar.RegExp.removeFlags;
 
Code coverage report for node-npmtest-sugar/sugar/regexp/setFlags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/regexp/setFlags.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.RegExp.defineInstance({
 
  'setFlags': function(r, flags) {
    return RegExp(r.source, flags);
  }
 
});
 
module.exports = Sugar.RegExp.setFlags;
 
Code coverage report for node-npmtest-sugar/sugar/string/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/

Statements: 73.52% (186 / 253)      Branches: 0% (0 / 24)      Functions: 0% (0 / 46)      Lines: 74.4% (186 / 250)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/
File Statements Branches Functions Lines
at.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
camelize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
capitalize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
chars.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
codes.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
compact.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 2) 60% (3 / 5)
dasherize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
decodeBase64.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
encodeBase64.js 80% (4 / 5) 100% (0 / 0) 0% (0 / 1) 80% (4 / 5)
escapeHTML.js 66.67% (4 / 6) 100% (0 / 0) 0% (0 / 2) 66.67% (4 / 6)
escapeURL.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
first.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
forEach.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
format.js 42.86% (3 / 7) 0% (0 / 6) 0% (0 / 1) 42.86% (3 / 7)
from.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
includes.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
index.js 100% (45 / 45) 100% (0 / 0) 100% (0 / 0) 100% (45 / 45)
insert.js 60% (3 / 5) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
isBlank.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
isEmpty.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
last.js 42.86% (3 / 7) 0% (0 / 4) 0% (0 / 1) 50% (3 / 6)
lines.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
pad.js 40% (4 / 10) 100% (0 / 0) 0% (0 / 1) 40% (4 / 10)
padLeft.js 66.67% (4 / 6) 100% (0 / 0) 0% (0 / 1) 66.67% (4 / 6)
padRight.js 66.67% (4 / 6) 100% (0 / 0) 0% (0 / 1) 66.67% (4 / 6)
parameterize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
range.js 100% (3 / 3) 100% (0 / 0) 100% (0 / 0) 100% (3 / 3)
remove.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
removeAll.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
removeTags.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
replaceAll.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
reverse.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
shift.js 37.5% (3 / 8) 0% (0 / 2) 0% (0 / 2) 37.5% (3 / 8)
spacify.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
stripTags.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
titleize.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
to.js 50% (3 / 6) 0% (0 / 2) 0% (0 / 1) 60% (3 / 5)
toNumber.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
trimLeft.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
trimRight.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
truncate.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
truncateOnWord.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
underscore.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
unescapeHTML.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
unescapeURL.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
words.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
Code coverage report for node-npmtest-sugar/sugar/string/at.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/at.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    getEntriesForIndexes = require('../common/internal/getEntriesForIndexes');
 
Sugar.String.defineInstance({
 
  'at': function(str, index, loop) {
    return getEntriesForIndexes(str, index, loop, true);
  }
 
});
 
module.exports = Sugar.String.at;
 
Code coverage report for node-npmtest-sugar/sugar/string/camelize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/camelize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringCamelize = require('./internal/stringCamelize');
 
Sugar.String.defineInstance({
 
  'camelize': function(str, upper) {
    return stringCamelize(str, upper);
  }
 
});
 
module.exports = Sugar.String.camelize;
 
Code coverage report for node-npmtest-sugar/sugar/string/capitalize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/capitalize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringCapitalize = require('./internal/stringCapitalize');
 
Sugar.String.defineInstance({
 
  'capitalize': function(str, lower, all) {
    return stringCapitalize(str, lower, all);
  }
 
});
 
module.exports = Sugar.String.capitalize;
 
Code coverage report for node-npmtest-sugar/sugar/string/chars.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/chars.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringEach = require('./internal/stringEach');
 
Sugar.String.defineInstance({
 
  'chars': function(str, search, fn) {
    return stringEach(str, search, fn);
  }
 
});
 
module.exports = Sugar.String.chars;
 
Code coverage report for node-npmtest-sugar/sugar/string/codes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/codes.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringCodes = require('./internal/stringCodes');
 
Sugar.String.defineInstance({
 
  'codes': function(str, fn) {
    return stringCodes(str, fn);
  }
 
});
 
module.exports = Sugar.String.codes;
 
Code coverage report for node-npmtest-sugar/sugar/string/compact.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/compact.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    trim = require('../common/internal/trim');
 
Sugar.String.defineInstance({
 
  'compact': function(str) {
    return trim(str).replace(/([\r\n\s ])+/g, function(match, whitespace) {
      return whitespace === ' ' ? whitespace : ' ';
    });
  }
 
});
 
module.exports = Sugar.String.compact;
 
Code coverage report for node-npmtest-sugar/sugar/string/dasherize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/dasherize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringUnderscore = require('./internal/stringUnderscore');
 
Sugar.String.defineInstance({
 
  'dasherize': function(str) {
    return stringUnderscore(str).replace(/_/g, '-');
  }
 
});
 
module.exports = Sugar.String.dasherize;
 
Code coverage report for node-npmtest-sugar/sugar/string/decodeBase64.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/decodeBase64.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    base64 = require('./var/base64');
 
var decodeBase64 = base64.decodeBase64;
 
Sugar.String.defineInstance({
 
  'decodeBase64': function(str) {
    return decodeBase64(str);
  }
 
});
 
module.exports = Sugar.String.decodeBase64;
 
Code coverage report for node-npmtest-sugar/sugar/string/encodeBase64.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/encodeBase64.js

Statements: 80% (4 / 5)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 80% (4 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1   1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    base64 = require('./var/base64');
 
var encodeBase64 = base64.encodeBase64;
 
Sugar.String.defineInstance({
 
  'encodeBase64': function(str) {
    return encodeBase64(str);
  }
 
});
 
module.exports = Sugar.String.encodeBase64;
 
Code coverage report for node-npmtest-sugar/sugar/string/escapeHTML.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/escapeHTML.js

Statements: 66.67% (4 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 2)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1         1   1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    HTML_ESCAPE_REG = require('./var/HTML_ESCAPE_REG'),
    HTMLToEntityMap = require('./var/HTMLToEntityMap'),
    coreUtilityAliases = require('../common/var/coreUtilityAliases');
 
var getOwn = coreUtilityAliases.getOwn;
 
Sugar.String.defineInstance({
 
  'escapeHTML': function(str) {
    return str.replace(HTML_ESCAPE_REG, function(chr) {
      return getOwn(HTMLToEntityMap, chr);
    });
  }
 
});
 
module.exports = Sugar.String.escapeHTML;
 
Code coverage report for node-npmtest-sugar/sugar/string/escapeURL.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/escapeURL.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.String.defineInstance({
 
  'escapeURL': function(str, param) {
    return param ? encodeURIComponent(str) : encodeURI(str);
  }
 
});
 
module.exports = Sugar.String.escapeURL;
 
Code coverage report for node-npmtest-sugar/sugar/string/first.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/first.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.String.defineInstance({
 
  'first': function(str, num) {
    if (isUndefined(num)) num = 1;
    return str.substr(0, num);
  }
 
});
 
module.exports = Sugar.String.first;
 
Code coverage report for node-npmtest-sugar/sugar/string/forEach.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/forEach.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringEach = require('./internal/stringEach');
 
Sugar.String.defineInstance({
 
  'forEach': function(str, search, fn) {
    return stringEach(str, search, fn);
  }
 
});
 
module.exports = Sugar.String.forEach;
 
Code coverage report for node-npmtest-sugar/sugar/string/format.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/format.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 42.86% (3 / 7)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    isObjectType = require('../common/internal/isObjectType'),
    stringFormatMatcher = require('./var/stringFormatMatcher');
 
Sugar.String.defineInstanceWithArguments({
 
  'format': function(str, args) {
    var arg1 = args[0] && args[0].valueOf();
    // Unwrap if a single object is passed in.
    if (args.length === 1 && isObjectType(arg1)) {
      args = arg1;
    }
    return stringFormatMatcher(str, args);
  }
 
});
 
module.exports = Sugar.String.format;
 
Code coverage report for node-npmtest-sugar/sugar/string/from.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/from.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    numberOrIndex = require('./internal/numberOrIndex');
 
Sugar.String.defineInstance({
 
  'from': function(str, from) {
    return str.slice(numberOrIndex(str, from, true));
  }
 
});
 
module.exports = Sugar.String.from;
 
Code coverage report for node-npmtest-sugar/sugar/string/includes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/includes.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1           1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    ENHANCEMENTS_FLAG = require('../common/var/ENHANCEMENTS_FLAG'),
    STRING_ENHANCEMENTS_FLAG = require('./var/STRING_ENHANCEMENTS_FLAG'),
    fixArgumentLength = require('../common/internal/fixArgumentLength'),
    callIncludesWithRegexSupport = require('./internal/callIncludesWithRegexSupport');
 
Sugar.String.defineInstance({
 
  'includes': fixArgumentLength(callIncludesWithRegexSupport)
 
}, [ENHANCEMENTS_FLAG, STRING_ENHANCEMENTS_FLAG]);
 
module.exports = Sugar.String.includes;
 
Code coverage report for node-npmtest-sugar/sugar/string/index.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/index.js

Statements: 100% (45 / 45)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (45 / 45)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50      1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1   1  
'use strict';
 
// Instance Methods
require('./at');
require('./camelize');
require('./capitalize');
require('./chars');
require('./codes');
require('./compact');
require('./dasherize');
require('./decodeBase64');
require('./encodeBase64');
require('./escapeHTML');
require('./escapeURL');
require('./first');
require('./forEach');
require('./format');
require('./from');
require('./includes');
require('./insert');
require('./isBlank');
require('./isEmpty');
require('./last');
require('./lines');
require('./pad');
require('./padLeft');
require('./padRight');
require('./parameterize');
require('./remove');
require('./removeAll');
require('./removeTags');
require('./replaceAll');
require('./reverse');
require('./shift');
require('./spacify');
require('./stripTags');
require('./titleize');
require('./to');
require('./toNumber');
require('./trimLeft');
require('./trimRight');
require('./truncate');
require('./truncateOnWord');
require('./underscore');
require('./unescapeHTML');
require('./unescapeURL');
require('./words');
 
module.exports = require('sugar-core');
 
Code coverage report for node-npmtest-sugar/sugar/string/insert.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/insert.js

Statements: 60% (3 / 5)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1     1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.String.defineInstance({
 
  'insert': function(str, substr, index) {
    index = isUndefined(index) ? str.length : index;
    return str.slice(0, index) + substr + str.slice(index);
  }
 
});
 
module.exports = Sugar.String.insert;
 
Code coverage report for node-npmtest-sugar/sugar/string/isBlank.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/isBlank.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    trim = require('../common/internal/trim');
 
Sugar.String.defineInstance({
 
  'isBlank': function(str) {
    return trim(str).length === 0;
  }
 
});
 
module.exports = Sugar.String.isBlank;
 
Code coverage report for node-npmtest-sugar/sugar/string/isEmpty.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/isEmpty.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.String.defineInstance({
 
  'isEmpty': function(str) {
    return str.length === 0;
  }
 
});
 
module.exports = Sugar.String.isEmpty;
 
Code coverage report for node-npmtest-sugar/sugar/string/last.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/last.js

Statements: 42.86% (3 / 7)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1     1                   1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined');
 
Sugar.String.defineInstance({
 
  'last': function(str, num) {
    if (isUndefined(num)) num = 1;
    var start = str.length - num < 0 ? 0 : str.length - num;
    return str.substr(start);
  }
 
});
 
module.exports = Sugar.String.last;
 
Code coverage report for node-npmtest-sugar/sugar/string/lines.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/lines.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    trim = require('../common/internal/trim'),
    stringEach = require('./internal/stringEach');
 
Sugar.String.defineInstance({
 
  'lines': function(str, fn) {
    return stringEach(trim(str), /^.*$/gm, fn);
  }
 
});
 
module.exports = Sugar.String.lines;
 
Code coverage report for node-npmtest-sugar/sugar/string/pad.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/pad.js

Statements: 40% (4 / 10)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 40% (4 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26    1         1       1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    padString = require('./internal/padString'),
    mathAliases = require('../common/var/mathAliases'),
    coercePositiveInteger = require('../common/internal/coercePositiveInteger');
 
var max = mathAliases.max,
    ceil = mathAliases.ceil,
    floor = mathAliases.floor;
 
Sugar.String.defineInstance({
 
  'pad': function(str, num, padding) {
    var half, front, back;
    num   = coercePositiveInteger(num);
    half  = max(0, num - str.length) / 2;
    front = floor(half);
    back  = ceil(half);
    return padString(front, padding) + str + padString(back, padding);
  }
 
});
 
module.exports = Sugar.String.pad;
 
Code coverage report for node-npmtest-sugar/sugar/string/padLeft.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/padLeft.js

Statements: 66.67% (4 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1         1   1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    padString = require('./internal/padString'),
    mathAliases = require('../common/var/mathAliases'),
    coercePositiveInteger = require('../common/internal/coercePositiveInteger');
 
var max = mathAliases.max;
 
Sugar.String.defineInstance({
 
  'padLeft': function(str, num, padding) {
    num = coercePositiveInteger(num);
    return padString(max(0, num - str.length), padding) + str;
  }
 
});
 
module.exports = Sugar.String.padLeft;
 
Code coverage report for node-npmtest-sugar/sugar/string/padRight.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/padRight.js

Statements: 66.67% (4 / 6)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (4 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1         1   1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    padString = require('./internal/padString'),
    mathAliases = require('../common/var/mathAliases'),
    coercePositiveInteger = require('../common/internal/coercePositiveInteger');
 
var max = mathAliases.max;
 
Sugar.String.defineInstance({
 
  'padRight': function(str, num, padding) {
    num = coercePositiveInteger(num);
    return str + padString(max(0, num - str.length), padding);
  }
 
});
 
module.exports = Sugar.String.padRight;
 
Code coverage report for node-npmtest-sugar/sugar/string/parameterize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/parameterize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringParameterize = require('./internal/stringParameterize');
 
Sugar.String.defineInstance({
 
  'parameterize': function(str, separator) {
    return stringParameterize(str, separator);
  }
 
});
 
module.exports = Sugar.String.parameterize;
 
Code coverage report for node-npmtest-sugar/sugar/string/range.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/range.js

Statements: 100% (3 / 3)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (3 / 3)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1     1           1  
'use strict';
 
var Sugar = require('sugar-core'),
    PrimitiveRangeConstructor = require('../range/var/PrimitiveRangeConstructor');
 
Sugar.String.defineStatic({
 
  'range': PrimitiveRangeConstructor
 
});
 
module.exports = Sugar.String.range;
 
Code coverage report for node-npmtest-sugar/sugar/string/remove.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/remove.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.String.defineInstance({
 
  'remove': function(str, f) {
    return str.replace(f, '');
  }
 
});
 
module.exports = Sugar.String.remove;
 
Code coverage report for node-npmtest-sugar/sugar/string/removeAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/removeAll.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringReplaceAll = require('./internal/stringReplaceAll');
 
Sugar.String.defineInstance({
 
  'removeAll': function(str, f) {
    return stringReplaceAll(str, f);
  }
 
});
 
module.exports = Sugar.String.removeAll;
 
Code coverage report for node-npmtest-sugar/sugar/string/removeTags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/removeTags.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    replaceTags = require('./internal/replaceTags');
 
Sugar.String.defineInstance({
 
  'removeTags': function(str, tag, replace) {
    return replaceTags(str, tag, replace, false);
  }
 
});
 
module.exports = Sugar.String.removeTags;
 
Code coverage report for node-npmtest-sugar/sugar/string/replaceAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/replaceAll.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringReplaceAll = require('./internal/stringReplaceAll');
 
Sugar.String.defineInstanceWithArguments({
 
  'replaceAll': function(str, f, args) {
    return stringReplaceAll(str, f, args);
  }
 
});
 
module.exports = Sugar.String.replaceAll;
 
Code coverage report for node-npmtest-sugar/sugar/string/reverse.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/reverse.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    reverseString = require('./internal/reverseString');
 
Sugar.String.defineInstance({
 
  'reverse': function(str) {
    return reverseString(str);
  }
 
});
 
module.exports = Sugar.String.reverse;
 
Code coverage report for node-npmtest-sugar/sugar/string/shift.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/shift.js

Statements: 37.5% (3 / 8)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 37.5% (3 / 8)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1       1                         1  
'use strict';
 
var Sugar = require('sugar-core'),
    chr = require('../common/var/chr'),
    stringCodes = require('./internal/stringCodes');
 
Sugar.String.defineInstance({
 
  'shift': function(str, n) {
    var result = '';
    n = n || 0;
    stringCodes(str, function(c) {
      result += chr(c + n);
    });
    return result;
  }
 
});
 
module.exports = Sugar.String.shift;
 
Code coverage report for node-npmtest-sugar/sugar/string/spacify.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/spacify.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringSpacify = require('./internal/stringSpacify');
 
Sugar.String.defineInstance({
 
  'spacify': function(str) {
    return stringSpacify(str);
  }
 
});
 
module.exports = Sugar.String.spacify;
 
Code coverage report for node-npmtest-sugar/sugar/string/stripTags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/stripTags.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    replaceTags = require('./internal/replaceTags');
 
Sugar.String.defineInstance({
 
  'stripTags': function(str, tag, replace) {
    return replaceTags(str, tag, replace, true);
  }
 
});
 
module.exports = Sugar.String.stripTags;
 
Code coverage report for node-npmtest-sugar/sugar/string/titleize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/titleize.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringTitleize = require('./internal/stringTitleize');
 
Sugar.String.defineInstance({
 
  'titleize': function(str) {
    return stringTitleize(str);
  }
 
});
 
module.exports = Sugar.String.titleize;
 
Code coverage report for node-npmtest-sugar/sugar/string/to.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/to.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 60% (3 / 5)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1       1                 1  
'use strict';
 
var Sugar = require('sugar-core'),
    isUndefined = require('../common/internal/isUndefined'),
    numberOrIndex = require('./internal/numberOrIndex');
 
Sugar.String.defineInstance({
 
  'to': function(str, to) {
    if (isUndefined(to)) to = str.length;
    return str.slice(0, numberOrIndex(str, to));
  }
 
});
 
module.exports = Sugar.String.to;
 
Code coverage report for node-npmtest-sugar/sugar/string/toNumber.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/toNumber.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringToNumber = require('../common/internal/stringToNumber');
 
Sugar.String.defineInstance({
 
  'toNumber': function(str, base) {
    return stringToNumber(str, base);
  }
 
});
 
module.exports = Sugar.String.toNumber;
 
Code coverage report for node-npmtest-sugar/sugar/string/trimLeft.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/trimLeft.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    LEFT_TRIM_REG = require('./var/LEFT_TRIM_REG');
 
Sugar.String.defineInstance({
 
  'trimLeft': function(str) {
    return str.replace(LEFT_TRIM_REG, '');
  }
 
});
 
module.exports = Sugar.String.trimLeft;
 
Code coverage report for node-npmtest-sugar/sugar/string/trimRight.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/trimRight.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    RIGHT_TRIM_REG = require('./var/RIGHT_TRIM_REG');
 
Sugar.String.defineInstance({
 
  'trimRight': function(str) {
    return str.replace(RIGHT_TRIM_REG, '');
  }
 
});
 
module.exports = Sugar.String.trimRight;
 
Code coverage report for node-npmtest-sugar/sugar/string/truncate.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/truncate.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    truncateString = require('./internal/truncateString');
 
Sugar.String.defineInstance({
 
  'truncate': function(str, length, from, ellipsis) {
    return truncateString(str, length, from, ellipsis);
  }
 
});
 
module.exports = Sugar.String.truncate;
 
Code coverage report for node-npmtest-sugar/sugar/string/truncateOnWord.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/truncateOnWord.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    truncateString = require('./internal/truncateString');
 
Sugar.String.defineInstance({
 
  'truncateOnWord': function(str, length, from, ellipsis) {
    return truncateString(str, length, from, ellipsis, true);
  }
 
});
 
module.exports = Sugar.String.truncateOnWord;
 
Code coverage report for node-npmtest-sugar/sugar/string/underscore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/underscore.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    stringUnderscore = require('./internal/stringUnderscore');
 
Sugar.String.defineInstance({
 
  'underscore': function(str) {
    return stringUnderscore(str);
  }
 
});
 
module.exports = Sugar.String.underscore;
 
Code coverage report for node-npmtest-sugar/sugar/string/unescapeHTML.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/unescapeHTML.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1     1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    unescapeHTML = require('./internal/unescapeHTML');
 
Sugar.String.defineInstance({
 
  'unescapeHTML': function(str) {
    return unescapeHTML(str);
  }
 
});
 
module.exports = Sugar.String.unescapeHTML;
 
Code coverage report for node-npmtest-sugar/sugar/string/unescapeURL.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/unescapeURL.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1   1               1  
'use strict';
 
var Sugar = require('sugar-core');
 
Sugar.String.defineInstance({
 
  'unescapeURL': function(str, param) {
    return param ? decodeURI(str) : decodeURIComponent(str);
  }
 
});
 
module.exports = Sugar.String.unescapeURL;
 
Code coverage report for node-npmtest-sugar/sugar/string/words.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/words.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1       1               1  
'use strict';
 
var Sugar = require('sugar-core'),
    trim = require('../common/internal/trim'),
    stringEach = require('./internal/stringEach');
 
Sugar.String.defineInstance({
 
  'words': function(str, fn) {
    return stringEach(trim(str), /\S+/g, fn);
  }
 
});
 
module.exports = Sugar.String.words;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/

Statements: 27.42% (68 / 248)      Branches: 0% (0 / 140)      Functions: 0% (0 / 29)      Lines: 27.53% (68 / 247)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/internal/
File Statements Branches Functions Lines
callIncludesWithRegexSupport.js 44.44% (4 / 9) 0% (0 / 4) 0% (0 / 1) 44.44% (4 / 9)
eachWord.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
numberOrIndex.js 44.44% (4 / 9) 0% (0 / 6) 0% (0 / 1) 44.44% (4 / 9)
padString.js 75% (3 / 4) 0% (0 / 2) 0% (0 / 1) 75% (3 / 4)
replaceTags.js 36.36% (4 / 11) 0% (0 / 6) 0% (0 / 2) 36.36% (4 / 11)
reverseString.js 66.67% (2 / 3) 100% (0 / 0) 0% (0 / 1) 66.67% (2 / 3)
runGlobalMatch.js 22.22% (2 / 9) 0% (0 / 2) 0% (0 / 1) 22.22% (2 / 9)
runTagReplacements.js 8.77% (5 / 57) 0% (0 / 39) 0% (0 / 2) 8.77% (5 / 57)
stringCamelize.js 30% (3 / 10) 0% (0 / 8) 0% (0 / 2) 30% (3 / 10)
stringCapitalize.js 50% (3 / 6) 0% (0 / 4) 0% (0 / 1) 50% (3 / 6)
stringCodes.js 22.22% (2 / 9) 0% (0 / 2) 0% (0 / 1) 22.22% (2 / 9)
stringEach.js 15.38% (4 / 26) 0% (0 / 16) 0% (0 / 1) 15.38% (4 / 26)
stringParameterize.js 30% (3 / 10) 0% (0 / 4) 0% (0 / 1) 33.33% (3 / 9)
stringReplaceAll.js 25% (4 / 16) 0% (0 / 10) 0% (0 / 2) 25% (4 / 16)
stringSpacify.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
stringTitleize.js 17.65% (3 / 17) 0% (0 / 12) 0% (0 / 2) 17.65% (3 / 17)
stringUnderscore.js 50% (3 / 6) 0% (0 / 4) 0% (0 / 2) 50% (3 / 6)
tagIsVoid.js 75% (3 / 4) 100% (0 / 0) 0% (0 / 1) 75% (3 / 4)
truncateOnWord.js 30% (3 / 10) 0% (0 / 2) 0% (0 / 2) 30% (3 / 10)
truncateString.js 22.22% (4 / 18) 0% (0 / 15) 0% (0 / 1) 22.22% (4 / 18)
unescapeHTML.js 50% (3 / 6) 0% (0 / 4) 0% (0 / 2) 50% (3 / 6)
Code coverage report for node-npmtest-sugar/sugar/string/internal/callIncludesWithRegexSupport.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/callIncludesWithRegexSupport.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/internal/ » callIncludesWithRegexSupport.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1     1   1                   1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    nativeIncludes = require('../var/nativeIncludes');
 
var isRegExp = classChecks.isRegExp;
 
function callIncludesWithRegexSupport(str, search, position) {
  if (!isRegExp(search)) {
    return nativeIncludes.call(str, search, position);
  }
  if (position) {
    str = str.slice(position);
  }
  return search.test(str);
}
 
module.exports = callIncludesWithRegexSupport;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/eachWord.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/eachWord.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var trim = require('../../common/internal/trim'),
    stringEach = require('./stringEach');
 
function eachWord(str, fn) {
  return stringEach(trim(str), /\S+/g, fn);
}
 
module.exports = eachWord;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/numberOrIndex.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/numberOrIndex.js

Statements: 44.44% (4 / 9)      Branches: 0% (0 / 6)      Functions: 0% (0 / 1)      Lines: 44.44% (4 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1   1   1                   1  
'use strict';
 
var classChecks = require('../../common/var/classChecks');
 
var isString = classChecks.isString;
 
function numberOrIndex(str, n, from) {
  if (isString(n)) {
    n = str.indexOf(n);
    if (n === -1) {
      n = from ? str.length : 0;
    }
  }
  return n;
}
 
module.exports = numberOrIndex;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/padString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/padString.js

Statements: 75% (3 / 4)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    repeatString = require('../../common/internal/repeatString');
 
function padString(num, padding) {
  return repeatString(isDefined(padding) ? padding : ' ', num);
}
 
module.exports = padString;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/replaceTags.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/replaceTags.js

Statements: 36.36% (4 / 11)      Branches: 0% (0 / 6)      Functions: 0% (0 / 2)      Lines: 36.36% (4 / 11)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    1         1   1                     1  
'use strict';
 
var map = require('../../common/internal/map'),
    classChecks = require('../../common/var/classChecks'),
    escapeRegExp = require('../../common/internal/escapeRegExp'),
    runTagReplacements = require('./runTagReplacements');
 
var isString = classChecks.isString;
 
function replaceTags(str, find, replacement, strip) {
  var tags = isString(find) ? [find] : find, reg, src;
  tags = map(tags || [], function(t) {
    return escapeRegExp(t);
  }).join('|');
  src = tags.replace('all', '') || '[^\\s>]+';
  src = '<(\\/)?(' + src + ')(\\s+[^<>]*?)?\\s*(\\/)?>';
  reg = RegExp(src, 'gi');
  return runTagReplacements(str.toString(), reg, strip, replacement);
}
 
module.exports = replaceTags;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/reverseString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/reverseString.js

Statements: 66.67% (2 / 3)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 66.67% (2 / 3)      Ignored: none     

1 2 3 4 5 6 7 8    1       1  
'use strict';
 
function reverseString(str) {
  return str.split('').reverse().join('');
}
 
module.exports = reverseString;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/runGlobalMatch.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/runGlobalMatch.js

Statements: 22.22% (2 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 22.22% (2 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17    1                         1  
'use strict';
 
function runGlobalMatch(str, reg) {
  var result = [], match, lastLastIndex;
  while ((match = reg.exec(str)) != null) {
    if (reg.lastIndex === lastLastIndex) {
      reg.lastIndex += 1;
    } else {
      result.push(match[0]);
    }
    lastLastIndex = reg.lastIndex;
  }
  return result;
}
 
module.exports = runGlobalMatch;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/runTagReplacements.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/runTagReplacements.js

Statements: 8.77% (5 / 57)      Branches: 0% (0 / 39)      Functions: 0% (0 / 2)      Lines: 8.77% (5 / 57)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83    1     1   1                 1                                                                                                                                 1  
'use strict';
 
var tagIsVoid = require('./tagIsVoid'),
    classChecks = require('../../common/var/classChecks');
 
var isString = classChecks.isString;
 
function runTagReplacements(str, reg, strip, replacement, fullString) {
 
  var match;
  var result = '';
  var currentIndex = 0;
  var openTagName;
  var openTagAttributes;
  var openTagCount = 0;
 
  function processTag(index, tagName, attributes, tagLength, isVoid) {
    var content = str.slice(currentIndex, index), s = '', r = '';
    if (isString(replacement)) {
      r = replacement;
    } else if (replacement) {
      r = replacement.call(fullString, tagName, content, attributes, fullString) || '';
    }
    if (strip) {
      s = r;
    } else {
      content = r;
    }
    if (content) {
      content = runTagReplacements(content, reg, strip, replacement, fullString);
    }
    result += s + content + (isVoid ? '' : s);
    currentIndex = index + (tagLength || 0);
  }
 
  fullString = fullString || str;
  reg = RegExp(reg.source, 'gi');
 
  while(match = reg.exec(str)) {
 
    var tagName         = match[2];
    var attributes      = (match[3]|| '').slice(1);
    var isClosingTag    = !!match[1];
    var isSelfClosing   = !!match[4];
    var tagLength       = match[0].length;
    var isVoid          = tagIsVoid(tagName);
    var isOpeningTag    = !isClosingTag && !isSelfClosing && !isVoid;
    var isSameAsCurrent = tagName === openTagName;
 
    if (!openTagName) {
      result += str.slice(currentIndex, match.index);
      currentIndex = match.index;
    }
 
    if (isOpeningTag) {
      if (!openTagName) {
        openTagName = tagName;
        openTagAttributes = attributes;
        openTagCount++;
        currentIndex += tagLength;
      } else if (isSameAsCurrent) {
        openTagCount++;
      }
    } else if (isClosingTag && isSameAsCurrent) {
      openTagCount--;
      if (openTagCount === 0) {
        processTag(match.index, openTagName, openTagAttributes, tagLength, isVoid);
        openTagName       = null;
        openTagAttributes = null;
      }
    } else if (!openTagName) {
      processTag(match.index, tagName, attributes, tagLength, isVoid);
    }
  }
  if (openTagName) {
    processTag(str.length, openTagName, openTagAttributes);
  }
  result += str.slice(currentIndex);
  return result;
}
 
module.exports = runTagReplacements;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCamelize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCamelize.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 8)      Functions: 0% (0 / 2)      Lines: 30% (3 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21    1         1                       1  
'use strict';
 
var CAMELIZE_REG = require('../var/CAMELIZE_REG'),
    getAcronym = require('../../common/internal/getAcronym'),
    stringUnderscore = require('./stringUnderscore'),
    stringCapitalize = require('./stringCapitalize');
 
function stringCamelize(str, upper) {
  str = stringUnderscore(str);
  return str.replace(CAMELIZE_REG, function(match, pre, word, index) {
    var cap = upper !== false || index > 0, acronym;
    acronym = getAcronym(word);
    if (acronym && cap) {
      return acronym;
    }
    return cap ? stringCapitalize(word, true) : word;
  });
}
 
module.exports = stringCamelize;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCapitalize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCapitalize.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14    1     1             1  
'use strict';
 
var CAPITALIZE_REG = require('../var/CAPITALIZE_REG'),
    simpleCapitalize = require('../../common/internal/simpleCapitalize');
 
function stringCapitalize(str, downcase, all) {
  if (downcase) {
    str = str.toLowerCase();
  }
  return all ? str.replace(CAPITALIZE_REG, simpleCapitalize) : simpleCapitalize(str);
}
 
module.exports = stringCapitalize;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCodes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringCodes.js

Statements: 22.22% (2 / 9)      Branches: 0% (0 / 2)      Functions: 0% (0 / 1)      Lines: 22.22% (2 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1                       1  
'use strict';
 
function stringCodes(str, fn) {
  var codes = new Array(str.length), i, len;
  for(i = 0, len = str.length; i < len; i++) {
    var code = str.charCodeAt(i);
    codes[i] = code;
    if (fn) {
      fn.call(str, code, i, str);
    }
  }
  return codes;
}
 
module.exports = stringCodes;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringEach.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringEach.js

Statements: 15.38% (4 / 26)      Branches: 0% (0 / 16)      Functions: 0% (0 / 1)      Lines: 15.38% (4 / 26)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47    1           1       1                                                                 1  
'use strict';
 
var isDefined = require('../../common/internal/isDefined'),
    classChecks = require('../../common/var/classChecks'),
    escapeRegExp = require('../../common/internal/escapeRegExp'),
    getRegExpFlags = require('../../common/internal/getRegExpFlags'),
    runGlobalMatch = require('./runGlobalMatch');
 
var isString = classChecks.isString,
    isRegExp = classChecks.isRegExp,
    isFunction = classChecks.isFunction;
 
function stringEach(str, search, fn) {
  var chunks, chunk, reg, result = [];
  if (isFunction(search)) {
    fn = search;
    reg = /[\s\S]/g;
  } else if (!search) {
    reg = /[\s\S]/g;
  } else if (isString(search)) {
    reg = RegExp(escapeRegExp(search), 'gi');
  } else if (isRegExp(search)) {
    reg = RegExp(search.source, getRegExpFlags(search, 'g'));
  }
  // Getting the entire array of chunks up front as we need to
  // pass this into the callback function as an argument.
  chunks = runGlobalMatch(str, reg);
 
  if (chunks) {
    for(var i = 0, len = chunks.length, r; i < len; i++) {
      chunk = chunks[i];
      result[i] = chunk;
      if (fn) {
        r = fn.call(str, chunk, i, chunks);
        if (r === false) {
          break;
        } else if (isDefined(r)) {
          result[i] = r;
        }
      }
    }
  }
  return result;
}
 
module.exports = stringEach;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringParameterize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringParameterize.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 4)      Functions: 0% (0 / 1)      Lines: 33.33% (3 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    1   1                   1  
'use strict';
 
var escapeRegExp = require('../../common/internal/escapeRegExp');
 
function stringParameterize(str, separator) {
  if (separator === undefined) separator = '-';
  str = str.replace(/[^a-z0-9\-_]+/gi, separator);
  if (separator) {
    var reg = RegExp('^{s}+|{s}+$|({s}){s}+'.split('{s}').join(escapeRegExp(separator)), 'g');
    str = str.replace(reg, '$1');
  }
  return encodeURI(str.toLowerCase());
}
 
module.exports = stringParameterize;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringReplaceAll.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringReplaceAll.js

Statements: 25% (4 / 16)      Branches: 0% (0 / 10)      Functions: 0% (0 / 2)      Lines: 25% (4 / 16)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29    1       1   1                                     1  
'use strict';
 
var classChecks = require('../../common/var/classChecks'),
    escapeRegExp = require('../../common/internal/escapeRegExp'),
    getRegExpFlags = require('../../common/internal/getRegExpFlags');
 
var isString = classChecks.isString;
 
function stringReplaceAll(str, f, replace) {
  var i = 0, tokens;
  if (isString(f)) {
    f = RegExp(escapeRegExp(f), 'g');
  } else if (f && !f.global) {
    f = RegExp(f.source, getRegExpFlags(f, 'g'));
  }
  if (!replace) {
    replace = '';
  } else {
    tokens = replace;
    replace = function() {
      var t = tokens[i++];
      return t != null ? t : '';
    };
  }
  return str.replace(f, replace);
}
 
module.exports = stringReplaceAll;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringSpacify.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringSpacify.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1   1       1  
'use strict';
 
var stringUnderscore = require('./stringUnderscore');
 
function stringSpacify(str) {
  return stringUnderscore(str).replace(/_/g, ' ');
}
 
module.exports = stringSpacify;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringTitleize.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringTitleize.js

Statements: 17.65% (3 / 17)      Branches: 0% (0 / 12)      Functions: 0% (0 / 2)      Lines: 17.65% (3 / 17)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33    1                 1                                       1  
'use strict';
 
var DOWNCASED_WORDS = require('../var/DOWNCASED_WORDS'),
    indexOf = require('../../common/internal/indexOf'),
    eachWord = require('./eachWord'),
    getAcronym = require('../../common/internal/getAcronym'),
    getHumanWord = require('../../common/internal/getHumanWord'),
    runHumanRules = require('../../common/internal/runHumanRules'),
    stringSpacify = require('./stringSpacify'),
    stringCapitalize = require('./stringCapitalize');
 
function stringTitleize(str) {
  var fullStopPunctuation = /[.:;!]$/, lastHadPunctuation;
  str = runHumanRules(str);
  str = stringSpacify(str);
  return eachWord(str, function(word, index, words) {
    word = getHumanWord(word) || word;
    word = getAcronym(word) || word;
    var hasPunctuation, isFirstOrLast;
    var first = index == 0, last = index == words.length - 1;
    hasPunctuation = fullStopPunctuation.test(word);
    isFirstOrLast = first || last || hasPunctuation || lastHadPunctuation;
    lastHadPunctuation = hasPunctuation;
    if (isFirstOrLast || indexOf(DOWNCASED_WORDS, word) === -1) {
      return stringCapitalize(word, false, true);
    } else {
      return word;
    }
  }).join(' ');
}
 
module.exports = stringTitleize;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/stringUnderscore.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/stringUnderscore.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18    1   1                       1  
'use strict';
 
var Inflections = require('../../common/var/Inflections');
 
function stringUnderscore(str) {
  var areg = Inflections.acronyms && Inflections.acronyms.reg;
  return str
    .replace(/[-\s]+/g, '_')
    .replace(areg, function(acronym, index) {
      return (index > 0 ? '_' : '') + acronym.toLowerCase();
    })
    .replace(/([A-Z\d]+)([A-Z][a-z])/g,'$1_$2')
    .replace(/([a-z\d])([A-Z])/g,'$1_$2')
    .toLowerCase();
}
 
module.exports = stringUnderscore;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/tagIsVoid.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/tagIsVoid.js

Statements: 75% (3 / 4)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 75% (3 / 4)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11    1     1       1  
'use strict';
 
var HTML_VOID_ELEMENTS = require('../var/HTML_VOID_ELEMENTS'),
    indexOf = require('../../common/internal/indexOf');
 
function tagIsVoid(tag) {
  return indexOf(HTML_VOID_ELEMENTS, tag.toLowerCase()) !== -1;
}
 
module.exports = tagIsVoid;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/truncateOnWord.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/truncateOnWord.js

Statements: 30% (3 / 10)      Branches: 0% (0 / 2)      Functions: 0% (0 / 2)      Lines: 30% (3 / 10)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1       1                       1  
'use strict';
 
var TRUNC_REG = require('../var/TRUNC_REG'),
    filter = require('../../common/internal/filter'),
    reverseString = require('./reverseString');
 
function truncateOnWord(str, limit, fromLeft) {
  if (fromLeft) {
    return reverseString(truncateOnWord(reverseString(str), limit));
  }
  var words = str.split(TRUNC_REG);
  var count = 0;
  return filter(words, function(word) {
    count += word.length;
    return count <= limit;
  }).join('');
}
 
module.exports = truncateOnWord;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/truncateString.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/truncateString.js

Statements: 22.22% (4 / 18)      Branches: 0% (0 / 15)      Functions: 0% (0 / 1)      Lines: 22.22% (4 / 18)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33    1       1     1                                           1  
'use strict';
 
var isUndefined = require('../../common/internal/isUndefined'),
    mathAliases = require('../../common/var/mathAliases'),
    truncateOnWord = require('./truncateOnWord');
 
var ceil = mathAliases.ceil,
    floor = mathAliases.floor;
 
function truncateString(str, length, from, ellipsis, split) {
  var str1, str2, len1, len2;
  if (str.length <= length) {
    return str.toString();
  }
  ellipsis = isUndefined(ellipsis) ? '...' : ellipsis;
  switch(from) {
    case 'left':
      str2 = split ? truncateOnWord(str, length, true) : str.slice(str.length - length);
      return ellipsis + str2;
    case 'middle':
      len1 = ceil(length / 2);
      len2 = floor(length / 2);
      str1 = split ? truncateOnWord(str, len1) : str.slice(0, len1);
      str2 = split ? truncateOnWord(str, len2, true) : str.slice(str.length - len2);
      return str1 + ellipsis + str2;
    default:
      str1 = split ? truncateOnWord(str, length) : str.slice(0, length);
      return str1 + ellipsis;
  }
}
 
module.exports = truncateString;
 
Code coverage report for node-npmtest-sugar/sugar/string/internal/unescapeHTML.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/internal/unescapeHTML.js

Statements: 50% (3 / 6)      Branches: 0% (0 / 4)      Functions: 0% (0 / 2)      Lines: 50% (3 / 6)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15    1       1             1  
'use strict';
 
var HTML_ENTITY_REG = require('../var/HTML_ENTITY_REG'),
    HTMLFromEntityMap = require('../var/HTMLFromEntityMap'),
    chr = require('../../common/var/chr');
 
function unescapeHTML(str) {
  return str.replace(HTML_ENTITY_REG, function(full, hex, code) {
    var special = HTMLFromEntityMap[code];
    return special || chr(hex ? parseInt(code, 16) : +code);
  });
}
 
module.exports = unescapeHTML;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/

Statements: 38.83% (40 / 103)      Branches: 7.14% (1 / 14)      Functions: 27.27% (3 / 11)      Lines: 38.83% (40 / 103)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/var/
File Statements Branches Functions Lines
CAMELIZE_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
CAPITALIZE_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
DOWNCASED_WORDS.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
HTMLFromEntityMap.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
HTMLToEntityMap.js 100% (9 / 9) 100% (0 / 0) 100% (2 / 2) 100% (9 / 9)
HTML_ENTITY_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
HTML_ESCAPE_REG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
HTML_VOID_ELEMENTS.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
LEFT_TRIM_REG.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
RIGHT_TRIM_REG.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
STRING_ENHANCEMENTS_FLAG.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
TRUNC_REG.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
base64.js 14.86% (11 / 74) 7.14% (1 / 14) 11.11% (1 / 9) 14.86% (11 / 74)
nativeIncludes.js 100% (1 / 1) 100% (0 / 0) 100% (0 / 0) 100% (1 / 1)
stringFormatMatcher.js 100% (2 / 2) 100% (0 / 0) 100% (0 / 0) 100% (2 / 2)
Code coverage report for node-npmtest-sugar/sugar/string/var/CAMELIZE_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/CAMELIZE_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /(^|_)([^_]+)/g;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/CAPITALIZE_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/CAPITALIZE_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /[^\u0000-\u0040\u005B-\u0060\u007B-\u007F]+('s)?/g;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/DOWNCASED_WORDS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/DOWNCASED_WORDS.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10    1           1  
'use strict';
 
var DOWNCASED_WORDS = [
  'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at',
  'by', 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over',
  'with', 'for'
];
 
module.exports = DOWNCASED_WORDS;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/HTMLFromEntityMap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/HTMLFromEntityMap.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13    1                 1  
'use strict';
 
var HTMLFromEntityMap = {
  'lt':    '<',
  'gt':    '>',
  'amp':   '&',
  'nbsp':  ' ',
  'quot':  '"',
  'apos':  "'"
};
 
module.exports = HTMLFromEntityMap;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/HTMLToEntityMap.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/HTMLToEntityMap.js

Statements: 100% (9 / 9)      Branches: 100% (0 / 0)      Functions: 100% (2 / 2)      Lines: 100% (9 / 9)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20    1     1   1   1 1 1 6       1   1  
'use strict';
 
var HTMLFromEntityMap = require('./HTMLFromEntityMap'),
    coreUtilityAliases = require('../../common/var/coreUtilityAliases');
 
var forEachProperty = coreUtilityAliases.forEachProperty;
 
var HTMLToEntityMap;
 
function buildEntities() {
  HTMLToEntityMap = {};
  forEachProperty(HTMLFromEntityMap, function(val, key) {
    HTMLToEntityMap[val] = '&' + key + ';';
  });
}
 
buildEntities();
 
module.exports = HTMLToEntityMap;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_ENTITY_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_ENTITY_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /&#?(x)?([\w\d]{0,5});/gi;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_ESCAPE_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_ESCAPE_REG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = /[&<>]/g;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_VOID_ELEMENTS.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/HTML_VOID_ELEMENTS.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6 7 8 9    1         1  
'use strict';
 
var HTML_VOID_ELEMENTS = [
  'area','base','br','col','command','embed','hr','img',
  'input','keygen','link','meta','param','source','track','wbr'
];
 
module.exports = HTML_VOID_ELEMENTS;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/LEFT_TRIM_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/LEFT_TRIM_REG.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var TRIM_CHARS = require('../../common/var/TRIM_CHARS');
 
module.exports = RegExp('^['+ TRIM_CHARS +']+');
 
Code coverage report for node-npmtest-sugar/sugar/string/var/RIGHT_TRIM_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/RIGHT_TRIM_REG.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var TRIM_CHARS = require('../../common/var/TRIM_CHARS');
 
module.exports = RegExp('['+ TRIM_CHARS +']+$');
 
Code coverage report for node-npmtest-sugar/sugar/string/var/STRING_ENHANCEMENTS_FLAG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/STRING_ENHANCEMENTS_FLAG.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/var/ » STRING_ENHANCEMENTS_FLAG.js
1 2 3 4    1  
'use strict';
 
module.exports = 'enhanceString';
 
Code coverage report for node-npmtest-sugar/sugar/string/var/TRUNC_REG.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/TRUNC_REG.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

1 2 3 4 5 6    1   1  
'use strict';
 
var TRIM_CHARS = require('../../common/var/TRIM_CHARS');
 
module.exports = RegExp('(?=[' + TRIM_CHARS + '])');
 
Code coverage report for node-npmtest-sugar/sugar/string/var/base64.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/base64.js

Statements: 14.86% (11 / 74)      Branches: 7.14% (1 / 14)      Functions: 11.11% (1 / 9)      Lines: 14.86% (11 / 74)      Ignored: none     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106    1   1   1 1   1                   1 1     1     1                                                                                                                                                 1   1        
'use strict';
 
var chr = require('../../common/var/chr');
 
var encodeBase64, decodeBase64;
 
function buildBase64() {
  var encodeAscii, decodeAscii;
 
  function catchEncodingError(fn) {
    return function(str) {
      try {
        return fn(str);
      } catch(e) {
        return '';
      }
    };
  }
 
  Eif (typeof Buffer !== 'undefined') {
    encodeBase64 = function(str) {
      return new Buffer(str).toString('base64');
    };
    decodeBase64 = function(str) {
      return new Buffer(str, 'base64').toString('utf8');
    };
    return;
  }
  if (typeof btoa !== 'undefined') {
    encodeAscii = catchEncodingError(btoa);
    decodeAscii = catchEncodingError(atob);
  } else {
    var key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
    var base64reg = /[^A-Za-z0-9\+\/\=]/g;
    encodeAscii = function(str) {
      var output = '';
      var chr1, chr2, chr3;
      var enc1, enc2, enc3, enc4;
      var i = 0;
      do {
        chr1 = str.charCodeAt(i++);
        chr2 = str.charCodeAt(i++);
        chr3 = str.charCodeAt(i++);
        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;
        if (isNaN(chr2)) {
          enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
          enc4 = 64;
        }
        output += key.charAt(enc1);
        output += key.charAt(enc2);
        output += key.charAt(enc3);
        output += key.charAt(enc4);
        chr1 = chr2 = chr3 = '';
        enc1 = enc2 = enc3 = enc4 = '';
      } while (i < str.length);
      return output;
    };
    decodeAscii = function(input) {
      var output = '';
      var chr1, chr2, chr3;
      var enc1, enc2, enc3, enc4;
      var i = 0;
      if (input.match(base64reg)) {
        return '';
      }
      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
      do {
        enc1 = key.indexOf(input.charAt(i++));
        enc2 = key.indexOf(input.charAt(i++));
        enc3 = key.indexOf(input.charAt(i++));
        enc4 = key.indexOf(input.charAt(i++));
        chr1 = (enc1 << 2) | (enc2 >> 4);
        chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
        chr3 = ((enc3 & 3) << 6) | enc4;
        output = output + chr(chr1);
        if (enc3 != 64) {
          output = output + chr(chr2);
        }
        if (enc4 != 64) {
          output = output + chr(chr3);
        }
        chr1 = chr2 = chr3 = '';
        enc1 = enc2 = enc3 = enc4 = '';
      } while (i < input.length);
      return output;
    };
  }
  encodeBase64 = function(str) {
    return encodeAscii(unescape(encodeURIComponent(str)));
  };
  decodeBase64 = function(str) {
    return decodeURIComponent(escape(decodeAscii(str)));
  };
}
 
buildBase64();
 
module.exports = {
  encodeBase64: encodeBase64,
  decodeBase64: decodeBase64
};
 
Code coverage report for node-npmtest-sugar/sugar/string/var/nativeIncludes.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/nativeIncludes.js

Statements: 100% (1 / 1)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (1 / 1)      Ignored: none     

1 2 3 4    1  
'use strict';
 
module.exports = String.prototype.includes;
 
Code coverage report for node-npmtest-sugar/sugar/string/var/stringFormatMatcher.js

npmtest-sugar (v0.0.1)

Code coverage report for node-npmtest-sugar/sugar/string/var/stringFormatMatcher.js

Statements: 100% (2 / 2)      Branches: 100% (0 / 0)      Functions: 100% (0 / 0)      Lines: 100% (2 / 2)      Ignored: none     

All files » node-npmtest-sugar/sugar/string/var/ » stringFormatMatcher.js
1 2 3 4 5 6 7    1     1  
'use strict';
 
var deepGetProperty = require('../../common/internal/deepGetProperty'),
    createFormatMatcher = require('../../common/internal/createFormatMatcher');
 
module.exports = createFormatMatcher(deepGetProperty);